mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
Fix ecvt_r, fcvt_r namespace (bug 18522).
The functions ecvt, fcvt and gcvt, in some standards, bring in references to ecvt_r and fcvt_r, which aren't in any of those standards. The calls are correctly to __ecvt_r and __fcvt_r, but then the names ecvt_r and fcvt_r are defined as strong aliases; this patch changes them to weak aliases. Tested for x86_64 and x86 (testsuite, and that disassembly of installed stripped shared libraries is unchanged by the patch). [BZ #18522] * misc/efgcvt_r.c [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0) && !LONG_DOUBLE_CVT] (cvt_symbol): Use weak_alias instead of strong_alias. [LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)] (cvt_symbol): Likewise. * conform/Makefile (test-xfail-XPG4/stdlib.h/linknamespace): Remove variable. (test-xfail-UNIX98/stdlib.h/linknamespace): Likewise. (test-xfail-XOPEN2K/stdlib.h/linknamespace): Likewise.
This commit is contained in:
parent
9acacaa02f
commit
498c1f6a7c
10
ChangeLog
10
ChangeLog
@ -1,5 +1,15 @@
|
||||
2015-06-12 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #18522]
|
||||
* misc/efgcvt_r.c
|
||||
[LONG_DOUBLE_COMPAT (libc, GLIBC_2_0) && !LONG_DOUBLE_CVT]
|
||||
(cvt_symbol): Use weak_alias instead of strong_alias.
|
||||
[LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)] (cvt_symbol): Likewise.
|
||||
* conform/Makefile (test-xfail-XPG4/stdlib.h/linknamespace):
|
||||
Remove variable.
|
||||
(test-xfail-UNIX98/stdlib.h/linknamespace): Likewise.
|
||||
(test-xfail-XOPEN2K/stdlib.h/linknamespace): Likewise.
|
||||
|
||||
[BZ #18520]
|
||||
* inet/herrno.c (h_errno): Rename to __h_errno.
|
||||
(__libc_h_errno): Define as alias of __h_errno not h_errno.
|
||||
|
2
NEWS
2
NEWS
@ -21,7 +21,7 @@ Version 2.22
|
||||
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,
|
||||
18520.
|
||||
18520, 18522.
|
||||
|
||||
* Cache information can be queried via sysconf() function on s390 e.g. with
|
||||
_SC_LEVEL1_ICACHE_SIZE as argument.
|
||||
|
@ -351,7 +351,6 @@ test-xfail-XPG3/wordexp.h/linknamespace = yes
|
||||
test-xfail-XPG4/fmtmsg.h/linknamespace = yes
|
||||
test-xfail-XPG4/glob.h/linknamespace = yes
|
||||
test-xfail-XPG4/netdb.h/linknamespace = yes
|
||||
test-xfail-XPG4/stdlib.h/linknamespace = yes
|
||||
test-xfail-XPG4/syslog.h/linknamespace = yes
|
||||
test-xfail-XPG4/unistd.h/linknamespace = yes
|
||||
test-xfail-XPG4/wordexp.h/linknamespace = yes
|
||||
@ -361,13 +360,11 @@ test-xfail-POSIX/semaphore.h/linknamespace = yes
|
||||
test-xfail-UNIX98/fmtmsg.h/linknamespace = yes
|
||||
test-xfail-UNIX98/mqueue.h/linknamespace = yes
|
||||
test-xfail-UNIX98/netdb.h/linknamespace = yes
|
||||
test-xfail-UNIX98/stdlib.h/linknamespace = yes
|
||||
test-xfail-UNIX98/syslog.h/linknamespace = yes
|
||||
test-xfail-UNIX98/unistd.h/linknamespace = yes
|
||||
test-xfail-UNIX98/wchar.h/linknamespace = yes
|
||||
test-xfail-XOPEN2K/fmtmsg.h/linknamespace = yes
|
||||
test-xfail-XOPEN2K/netdb.h/linknamespace = yes
|
||||
test-xfail-XOPEN2K/stdlib.h/linknamespace = yes
|
||||
test-xfail-XOPEN2K/syslog.h/linknamespace = yes
|
||||
test-xfail-POSIX2008/grp.h/linknamespace = yes
|
||||
test-xfail-POSIX2008/netdb.h/linknamespace = yes
|
||||
|
@ -251,13 +251,13 @@ __APPEND (FUNC_PREFIX, ecvt_r) (value, ndigit, decpt, sign, buf, len)
|
||||
# define cvt_symbol(symbol) \
|
||||
cvt_symbol_1 (libc, __APPEND (FUNC_PREFIX, symbol), \
|
||||
APPEND (q, symbol), GLIBC_2_0); \
|
||||
strong_alias (__APPEND (FUNC_PREFIX, symbol), APPEND (FUNC_PREFIX, symbol))
|
||||
weak_alias (__APPEND (FUNC_PREFIX, symbol), APPEND (FUNC_PREFIX, symbol))
|
||||
# define cvt_symbol_1(lib, local, symbol, version) \
|
||||
compat_symbol (lib, local, symbol, version)
|
||||
# endif
|
||||
#else
|
||||
# define cvt_symbol(symbol) \
|
||||
strong_alias (__APPEND (FUNC_PREFIX, symbol), APPEND (FUNC_PREFIX, symbol))
|
||||
weak_alias (__APPEND (FUNC_PREFIX, symbol), APPEND (FUNC_PREFIX, symbol))
|
||||
#endif
|
||||
cvt_symbol(fcvt_r);
|
||||
cvt_symbol(ecvt_r);
|
||||
|
Loading…
Reference in New Issue
Block a user