Skip to content

Commit

Permalink
Fix vsyslog namespace (bug 18533).
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
Joseph Myers committed Jun 17, 2015
1 parent 17c199e commit a97e5e2
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 3 deletions.
6 changes: 6 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
3 changes: 2 additions & 1 deletion NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
1 change: 0 additions & 1 deletion conform/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion misc/syslog.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */

Expand Down

0 comments on commit a97e5e2

Please sign in to comment.