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...

Bryan Drewery bdrewery at FreeBSD.org
Thu Apr 30 20:02:09 UTC 2015


On 4/30/2015 2:39 PM, Tijl Coosemans wrote:
> 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.
> 

Thanks. I wasn't quite sure if it was really an ABI issue or just API.

-- 
Regards,
Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20150430/fb820939/attachment.sig>


More information about the svn-src-all mailing list