svn commit: r282275 - in stable/10: . bin/csh contrib/smbfs/include/netsmb contrib/smbfs/lib/smb include lib/libarchive lib/libc/iconv lib/libc/locale lib/libiconv_modules/BIG5 lib/libiconv_modules...

Tijl Coosemans tijl at FreeBSD.org
Thu Apr 30 19:40:37 UTC 2015


On Thu, 30 Apr 2015 13:44:18 -0500 Bryan Drewery <bdrewery at 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 213 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20150430/ff6fa2ad/attachment.sig>


More information about the svn-src-all mailing list