This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[committed] Fix linknamespace h_errno handling
- From: Joseph Myers <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Thu, 4 Dec 2014 17:13:53 +0000
- Subject: [committed] Fix linknamespace h_errno handling
- Authentication-results: sourceware.org; auth=none
Some linknamespace tests were failing because of references to
h_errno. References to this symbol should be allowed for XPG4, UNIX98
and XOPEN2K; this patch adds it to the list of allowed data symbols
for those standards. (h_errno was removed in the 2008 edition of
POSIX, so POSIX2008 and XOPEN2K8 references to it are genuine bugs;
fortunately it's not a public data symbol - __h_errno_location is
public, TLS h_errno is GLIBC_PRIVATE - so the symbol can simply be
renamed to __h_errno to fix those bugs without the ABI complications
normally associated with namespace issues for data symbols.)
Tested for x86_64 and committed.
2014-12-04 Joseph Myers <joseph@codesourcery.com>
* conform/list-header-symbols.pl (%extra_syms): Add h_errno for
XPG4, UNIX98 and XOPEN2K.
* conform/Makefile (test-xfail-XOPEN2K/grp.h/linknamespace):
Remove variable.
(test-xfail-XOPEN2K/pwd.h/linknamespace): Likewise.
diff --git a/conform/Makefile b/conform/Makefile
index e720ac6..a73b217 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -410,11 +410,9 @@ test-xfail-XOPEN2K/fcntl.h/linknamespace = yes
test-xfail-XOPEN2K/fmtmsg.h/linknamespace = yes
test-xfail-XOPEN2K/fnmatch.h/linknamespace = yes
test-xfail-XOPEN2K/glob.h/linknamespace = yes
-test-xfail-XOPEN2K/grp.h/linknamespace = yes
test-xfail-XOPEN2K/libgen.h/linknamespace = yes
test-xfail-XOPEN2K/mqueue.h/linknamespace = yes
test-xfail-XOPEN2K/netdb.h/linknamespace = yes
-test-xfail-XOPEN2K/pwd.h/linknamespace = yes
test-xfail-XOPEN2K/regex.h/linknamespace = yes
test-xfail-XOPEN2K/search.h/linknamespace = yes
test-xfail-XOPEN2K/semaphore.h/linknamespace = yes
diff --git a/conform/list-header-symbols.pl b/conform/list-header-symbols.pl
index 7d15a1b..bc20429 100644
--- a/conform/list-header-symbols.pl
+++ b/conform/list-header-symbols.pl
@@ -47,14 +47,15 @@ $extra_syms{"XPG3"} = ["errno", "setjmp", "va_end", "environ", "signgam",
$extra_syms{"XPG4"} = ["errno", "setjmp", "va_end", "environ", "signgam",
"loc1", "loc2", "locs", "sigsetjmp", "optarg",
"optind", "opterr", "optopt", "daylight", "timezone",
- "tzname", "getdate_err"];
+ "tzname", "getdate_err", "h_errno"];
$extra_syms{"UNIX98"} = ["errno", "setjmp", "va_end", "environ", "signgam",
"loc1", "loc2", "locs", "sigsetjmp", "optarg",
"optind", "opterr", "optopt", "daylight", "timezone",
- "tzname", "getdate_err"];
+ "tzname", "getdate_err", "h_errno"];
$extra_syms{"XOPEN2K"} = ["errno", "setjmp", "va_end", "environ", "signgam",
"sigsetjmp", "optarg", "optind", "opterr", "optopt",
- "daylight", "timezone", "tzname", "getdate_err"];
+ "daylight", "timezone", "tzname", "getdate_err",
+ "h_errno"];
$extra_syms{"XOPEN2K8"} = ["errno", "setjmp", "va_end", "environ", "signgam",
"sigsetjmp", "optarg", "optind", "opterr", "optopt",
"daylight", "timezone", "tzname", "getdate_err"];
--
Joseph S. Myers
joseph@codesourcery.com