On Thu, 30 Apr 2015 13:44:18 -0500 Bryan Drewery <bdrew...@freebsd.org> wrote: > On 4/30/2015 11:08 AM, Tijl Coosemans wrote: >> Author: tijl >> Date: Thu Apr 30 16:08:47 2015 >> New Revision: 282275 >> URL: https://svnweb.freebsd.org/changeset/base/282275 >> >> Log: >> MFC r275805: >> >> Fix incorrect type of "invalids" argument in __iconv() prototype. >> >> MFC r281550,281591: >> >> Remove the const qualifier from iconv(3) to comply with POSIX: >> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iconv.html >> >> Adjust all code that calls iconv. >> >> PR: 199099 >> >> Modified: >> stable/10/UPDATING >> stable/10/bin/csh/config.h >> stable/10/bin/csh/iconv_stub.h >> stable/10/contrib/smbfs/include/netsmb/smb_lib.h >> stable/10/contrib/smbfs/lib/smb/nls.c >> stable/10/contrib/smbfs/lib/smb/print.c >> stable/10/contrib/smbfs/lib/smb/rq.c >> stable/10/include/iconv.h >> stable/10/lib/libarchive/Makefile >> stable/10/lib/libc/iconv/__iconv.c >> stable/10/lib/libc/iconv/bsd_iconv.c >> stable/10/lib/libc/iconv/citrus_iconv.h >> stable/10/lib/libc/iconv/citrus_iconv_local.h >> stable/10/lib/libc/iconv/citrus_none.c >> stable/10/lib/libc/iconv/citrus_stdenc.h >> stable/10/lib/libc/iconv/citrus_stdenc_local.h >> stable/10/lib/libc/iconv/citrus_stdenc_template.h >> stable/10/lib/libc/iconv/iconv-internal.h >> stable/10/lib/libc/iconv/iconv.3 >> stable/10/lib/libc/iconv/iconv.c >> stable/10/lib/libc/iconv/iconv_compat.c >> stable/10/lib/libc/locale/cXXrtomb_iconv.h >> stable/10/lib/libc/locale/mbrtocXX_iconv.h >> stable/10/lib/libiconv_modules/BIG5/citrus_big5.c >> stable/10/lib/libiconv_modules/DECHanyu/citrus_dechanyu.c >> stable/10/lib/libiconv_modules/EUC/citrus_euc.c >> stable/10/lib/libiconv_modules/EUCTW/citrus_euctw.c >> stable/10/lib/libiconv_modules/GBK2K/citrus_gbk2k.c >> stable/10/lib/libiconv_modules/HZ/citrus_hz.c >> stable/10/lib/libiconv_modules/ISO2022/citrus_iso2022.c >> stable/10/lib/libiconv_modules/JOHAB/citrus_johab.c >> stable/10/lib/libiconv_modules/MSKanji/citrus_mskanji.c >> stable/10/lib/libiconv_modules/UES/citrus_ues.c >> stable/10/lib/libiconv_modules/UTF1632/citrus_utf1632.c >> stable/10/lib/libiconv_modules/UTF7/citrus_utf7.c >> stable/10/lib/libiconv_modules/UTF8/citrus_utf8.c >> stable/10/lib/libiconv_modules/VIQR/citrus_viqr.c >> stable/10/lib/libiconv_modules/ZW/citrus_zw.c >> stable/10/lib/libiconv_modules/iconv_none/citrus_iconv_none.c >> stable/10/lib/libiconv_modules/iconv_std/citrus_iconv_std.c >> stable/10/lib/libkiconv/xlat16_iconv.c >> stable/10/sys/sys/param.h >> stable/10/usr.bin/iconv/iconv.c >> Directory Properties: >> stable/10/ (props changed) >> >> Modified: stable/10/UPDATING >> ============================================================================== >> --- stable/10/UPDATING Thu Apr 30 15:48:48 2015 (r282274) >> +++ stable/10/UPDATING Thu Apr 30 16:08:47 2015 (r282275) >> @@ -16,6 +16,10 @@ from older versions of FreeBSD, try WITH >> stable/10, and then rebuild without this option. The bootstrap process from >> older version of current is a bit fragile. >> >> +20150430: >> + The const qualifier has been removed from iconv(3) to comply with >> + POSIX. The ports tree is aware of this from r384038 onwards. >> + > > Being an ABI change this seems wrong to MFC. Binaries are not only built > from Ports. > > For a binary built on 10.1 will this change cause any issues?
Removing const from a function parameter is not an ABI change, so there are no issues for binaries. The worst you can run into is a warning/error from a compiler (when you pass a const char** argument to what is now a char** parameter), but this should be trivial to fix.
pgpVIKvZjjvK9.pgp
Description: OpenPGP digital signature