aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-06-17 20:09:35 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-06-17 20:09:35 +0000
commita97e5e25576cb5e207b1e49f1eb4e52e6354daa7 (patch)
tree853cb644162a5554cd54157e724ecfbf20d25991
parent17c199ee92e4ca8a34a47c42924608a25a444eb2 (diff)
downloadglibc-a97e5e25576cb5e207b1e49f1eb4e52e6354daa7.zip
glibc-a97e5e25576cb5e207b1e49f1eb4e52e6354daa7.tar.gz
glibc-a97e5e25576cb5e207b1e49f1eb4e52e6354daa7.tar.bz2
Fix vsyslog namespace (bug 18533).
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.
-rw-r--r--ChangeLog6
-rw-r--r--NEWS3
-rw-r--r--conform/Makefile1
-rw-r--r--misc/syslog.c2
4 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index bfd78a8..3d03d20 100644
--- 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 a4a0107..ad388ad 100644
--- 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.
diff --git a/conform/Makefile b/conform/Makefile
index 9ad7601..567046f 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -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
diff --git a/misc/syslog.c b/misc/syslog.c
index 3979f42..35cae6c 100644
--- a/misc/syslog.c
+++ b/misc/syslog.c
@@ -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 */