Fix ecvt_r, fcvt_r namespace (bug 18522).
commit498c1f6a7c7f7b634d02e740f15789cf68820a54
authorJoseph Myers <joseph@codesourcery.com>
Fri, 12 Jun 2015 10:11:35 +0000 (12 10:11 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 12 Jun 2015 10:11:35 +0000 (12 10:11 +0000)
treec102c3ffb7bb2f3187c788ce16c1e2ab910734e1
parent9acacaa02f3b75fddc07a56f3d848df45281a5de
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.
ChangeLog
NEWS
conform/Makefile
misc/efgcvt_r.c