aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-06-17 20:21:19 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-06-17 20:21:19 +0000
commitabccad04b4172d552dbdae948c0e567ba266ad76 (patch)
tree2de82b0b360a2a1003e1fe0e92c00fef92e8d79f /ChangeLog
parent0595c98494c25f8eaa1a3298e8fa032ad5e4405e (diff)
downloadglibc-abccad04b4172d552dbdae948c0e567ba266ad76.tar
glibc-abccad04b4172d552dbdae948c0e567ba266ad76.tar.gz
glibc-abccad04b4172d552dbdae948c0e567ba266ad76.tar.bz2
glibc-abccad04b4172d552dbdae948c0e567ba266ad76.zip
Fix ttyslot namespace (bug 18547).
ttyslot (XPG4) calls the non-XPG4 functions endttyent, getttyent and setttyent, which in turn bring in references to fgets_unlocked and getttynam. This patch fixes this by making these functions into weak aliases and calling the __* names as needed. Tested for x86_64 and x86 (testsuite, and that disassembly of installed stripped shared libraries is unchanged by the patch). [BZ #18547] * misc/getttyent.c (getttynam): Rename to __getttynam and define as weak alias of __getttynam. Use prototype function definition. Call __setttyent, __getttyent and __endttyent instead of setttyent, getttyent and endttyent. (getttyent): Rename to __getttyent and define as weak alias of __getttyent. Call __setttyent instead of setttyent. Call __fgets_unlocked instead of fgets_unlocked. (setttyent): Rename to __setttyent and define as weak alias of __setttyent. (endttyent): Rename to __endttyent and define as weak alias of __endttyent. * include/ttyent.h (__getttyent): Declare. Use libc_hidden_proto. (__setttyent): Likewise. (__endttyent): Likewise. (getttyent): Don't use libc_hidden_proto. (setttyent): Likewise. (endttyent): Likewise. * misc/ttyslot.c (ttyslot): Call __setttyent, __getttyent and __endttyent instead of setttyent, getttyent and endttyent. * conform/Makefile (test-xfail-XPG4/unistd.h/linknamespace): Remove variable.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog23
1 files changed, 23 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2ea4f1a9ab..4ce8eb9948 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,28 @@
2015-06-17 Joseph Myers <joseph@codesourcery.com>
+ [BZ #18547]
+ * misc/getttyent.c (getttynam): Rename to __getttynam and define
+ as weak alias of __getttynam. Use prototype function definition.
+ Call __setttyent, __getttyent and __endttyent instead of
+ setttyent, getttyent and endttyent.
+ (getttyent): Rename to __getttyent and define as weak alias of
+ __getttyent. Call __setttyent instead of setttyent. Call
+ __fgets_unlocked instead of fgets_unlocked.
+ (setttyent): Rename to __setttyent and define as weak alias of
+ __setttyent.
+ (endttyent): Rename to __endttyent and define as weak alias of
+ __endttyent.
+ * include/ttyent.h (__getttyent): Declare. Use libc_hidden_proto.
+ (__setttyent): Likewise.
+ (__endttyent): Likewise.
+ (getttyent): Don't use libc_hidden_proto.
+ (setttyent): Likewise.
+ (endttyent): Likewise.
+ * misc/ttyslot.c (ttyslot): Call __setttyent, __getttyent and
+ __endttyent instead of setttyent, getttyent and endttyent.
+ * conform/Makefile (test-xfail-XPG4/unistd.h/linknamespace):
+ Remove variable.
+
[BZ #18546]
* socket/recv.c (__recv): Use libc_hidden_def.
* socket/socket.c (__socket): Likewise.