From patchwork Thu Dec 4 17:13:53 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 4067 Received: (qmail 14145 invoked by alias); 4 Dec 2014 17:14:01 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 14128 invoked by uid 89); 4 Dec 2014 17:14:00 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.0 required=5.0 tests=AWL, BAYES_20, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Date: Thu, 4 Dec 2014 17:13:53 +0000 From: Joseph Myers To: Subject: [committed] Fix linknamespace h_errno handling Message-ID: User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 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 * 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"];