]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix vsyslog namespace (bug 18533).
authorJoseph Myers <joseph@codesourcery.com>
Wed, 17 Jun 2015 20:09:35 +0000 (20:09 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 17 Jun 2015 20:09:35 +0000 (20:09 +0000)
syslog functions (in POSIX) bring in the strong symbol vsyslog (not in
POSIX).  This patch fixes this by changing this symbol from a strong
alias to a weak alias.

Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).  (vsyslog becomes weak
in the static libraries, which is what's needed; the particular macro
sequence in use leaves it as strong in the shared libraries, hence
those libraries being completely unchanged, but it doesn't generally
matter whether symbols exported from the shared libraries are weak or
strong.)

[BZ #18533]
* misc/syslog.c (vsyslog): Define as a weak alias of __vsyslog,
not a strong alias.
* conform/Makefile (test-xfail-XOPEN2K8/syslog.h/linknamespace):
Remove variable.

ChangeLog
NEWS
conform/Makefile
misc/syslog.c

index bfd78a8970dfa5e37d92e8d862991e4afa478215..3d03d20f7c7fd379d737ea8b2c54eafc13f088b3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2015-06-17  Joseph Myers  <joseph@codesourcery.com>
 
+       [BZ #18533]
+       * misc/syslog.c (vsyslog): Define as a weak alias of __vsyslog,
+       not a strong alias.
+       * conform/Makefile (test-xfail-XOPEN2K8/syslog.h/linknamespace):
+       Remove variable.
+
        [BZ #18532]
        * inet/in6_addr.c (in6addr_any): Rename to __in6addr_any and
        define as weak alias of __in6addr_any.  Use libc_hidden_data_weak.
diff --git a/NEWS b/NEWS
index a4a010708fda7120ed8b30d0f3f49cfd551b7a0f..ad388adbc3d02ba0a4ba0a84bd203ad363e5d210 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -21,7 +21,8 @@ Version 2.22
   18210, 18211, 18217, 18220, 18221, 18234, 18244, 18247, 18287, 18319,
   18324, 18333, 18346, 18397, 18409, 18410, 18412, 18418, 18422, 18434,
   18444, 18468, 18469, 18470, 18479, 18483, 18495, 18496, 18497, 18498,
-  18507, 18512, 18519, 18520, 18522, 18527, 18528, 18529, 18530, 18532.
+  18507, 18512, 18519, 18520, 18522, 18527, 18528, 18529, 18530, 18532,
+  18533.
 
 * Cache information can be queried via sysconf() function on s390 e.g. with
   _SC_LEVEL1_ICACHE_SIZE as argument.
index 9ad760187dbb7990b5155388fc1b51082e8510e4..567046fd16c3738df7c1f7dc04e1c8a16d2a7688 100644 (file)
@@ -359,4 +359,3 @@ test-xfail-XOPEN2K/fmtmsg.h/linknamespace = yes
 test-xfail-XOPEN2K/syslog.h/linknamespace = yes
 test-xfail-POSIX2008/semaphore.h/linknamespace = yes
 test-xfail-XOPEN2K8/fmtmsg.h/linknamespace = yes
-test-xfail-XOPEN2K8/syslog.h/linknamespace = yes
index 3979f4240ec3f29475e7dc7ddc76e84f3780633b..35cae6c0771ce5ffe4aa7288dae5766c7c6fa000 100644 (file)
@@ -324,7 +324,7 @@ __vsyslog(int pri, const char *fmt, va_list ap)
   __vsyslog_chk (pri, -1, fmt, ap);
 }
 ldbl_hidden_def (__vsyslog, vsyslog)
-ldbl_strong_alias (__vsyslog, vsyslog)
+ldbl_weak_alias (__vsyslog, vsyslog)
 
 static struct sockaddr_un SyslogAddr;  /* AF_UNIX address of local logger */