summaryrefslogtreecommitdiff
path: root/stdio-common
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-06-17 20:10:50 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-06-17 20:10:50 +0000
commitbe7dc2b77e368daad6f81e272fc41f1b86166240 (patch)
tree5cb0cc1d4c59e767c291a629aa4d35a9fd3688a3 /stdio-common
parenta97e5e25576cb5e207b1e49f1eb4e52e6354daa7 (diff)
Fix syslog dprintf namespace (bug 18534).
syslog functions bring in references to dprintf, which wasn't added to POSIX until the 2008 edition and so isn't in various standards containing the syslog functions. This patch fixes this by making dprintf into a weak alias of __dprintf and using __dprintf as appropriate. Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch). [BZ #18534] * stdio-common/dprintf.c (__dprintf): Use libc_hidden_def. (dprintf): Define as a weak alias of __dprintf, not a strong alias. * include/stdio.h (__dprintf): Declare. Use libc_hidden_proto. * misc/syslog.c (__vsyslog_chk): Call __dprintf instead of dprintf. * conform/Makefile (test-xfail-XPG4/syslog.h/linknamespace): Remove variable. (test-xfail-UNIX98/syslog.h/linknamespace): Likewise. (test-xfail-XOPEN2K/syslog.h/linknamespace): Likewise.
Diffstat (limited to 'stdio-common')
-rw-r--r--stdio-common/dprintf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/stdio-common/dprintf.c b/stdio-common/dprintf.c
index 3221cf0122..5a7011dc52 100644
--- a/stdio-common/dprintf.c
+++ b/stdio-common/dprintf.c
@@ -35,5 +35,6 @@ __dprintf (int d, const char *format, ...)
return done;
}
+libc_hidden_def (__dprintf)
ldbl_hidden_def (__dprintf, dprintf)
-ldbl_strong_alias (__dprintf, dprintf)
+ldbl_weak_alias (__dprintf, dprintf)