svn commit: r351659 - in head: contrib/libc++/include contrib/netbsd-tests/lib/libc/ssp gnu/lib/libssp include lib/libc/stdio
Bruce Evans
brde at optusnet.com.au
Fri Sep 13 11:59:58 UTC 2019
On Sun, 1 Sep 2019, Cy Schubert wrote:
I'm replying to this reply since I lost the original mail.
> In message <201909011612.x81GC5DW097846 at repo.freebsd.org>, Ed Maste writes:
>> Author: emaste
>> Date: Sun Sep 1 16:12:05 2019
>> New Revision: 351659
>> URL: https://svnweb.freebsd.org/changeset/base/351659
>>
>> Log:
>> libc: remove gets
>>
>> gets is unsafe and shouldn't be used (for many years now). Leave it in
>> the existing symbol version so anything that previously linked aginst it
>> still runs, but do not allow new software to link against it.
>>
>> (The compatability/legacy implementation must not be static so that
>> the symbol and in particular the compat sym gets at FBSD_1.0 make it
>> into libc.)
>>
>> PR: 222796 (exp-run)
>> Reported by: Paul Vixie
>> Reviewed by: allanjude, cy, eadler, gnn, jhb, kib, ngie (some earlie
>> r)
>> Relnotes: Yes
>> Sponsored by: The FreeBSD Foundation
>> Differential Revision: https://reviews.freebsd.org/D12298
This breaks <stdio.h> for most old standards, and bogotitifies the ifdefs
that attempt to support old standards. <stdio.h> used to be more careful
with these ifdefs than most system headers.
C11 removed gets(), but POSIX.1-2017 (Issue 7) still has it (marked as
obsolescent). Thus this change breaks support for all versions of POSIX.
Bruce
More information about the svn-src-head
mailing list