diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-12-04 17:12:46 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2014-12-04 17:12:46 +0000 |
commit | 84dbedb6081f655bdfc4bf93a6e0e7f46234a8a7 (patch) | |
tree | df548acb0c1b68f54e169b3ca3602a75cdaf4907 | |
parent | af50dfc10ae33437d044fa040e3088452fa364a0 (diff) | |
download | glibc-84dbedb6081f655bdfc4bf93a6e0e7f46234a8a7.tar.gz glibc-84dbedb6081f655bdfc4bf93a6e0e7f46234a8a7.tar.xz glibc-84dbedb6081f655bdfc4bf93a6e0e7f46234a8a7.zip |
Fix linknamespace h_errno handling.
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. * 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.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | conform/Makefile | 2 | ||||
-rw-r--r-- | conform/list-header-symbols.pl | 7 |
3 files changed, 12 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog index a6663377e6..5134d116c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +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. + 2014-12-04 Siddhesh Poyarekar <siddhesh@redhat.com> * libio/fileops.c: Use ISO C style for function definitions. diff --git a/conform/Makefile b/conform/Makefile index e720ac63f3..a73b217005 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 7d15a1b64c..bc2042946d 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"]; |