From patchwork Fri Dec 19 18:56:00 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 4366 Received: (qmail 12614 invoked by alias); 19 Dec 2014 18:56:05 -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 12603 invoked by uid 89); 19 Dec 2014 18:56:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Date: Fri, 19 Dec 2014 18:56:00 +0000 From: Joseph Myers To: Subject: Fix resolver bind, getsockname namespace (bug 17733) Message-ID: User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 On Linux architectures using socketcall, the resolver ends up bringing in strong symbols for bind and getsockname, which are not in POSIX.1-1996. This causes linknamespace test failures: FAIL: conform/POSIX/pthread.h/linknamespace FAIL: conform/POSIX/sched.h/linknamespace FAIL: conform/POSIX/time.h/linknamespace These functions are defined as strong symbols with __bind and __getsockname as weak aliases. This patch switches this to the other way round by removing the NO_WEAK_ALIAS definitions and so letting the default case in socket.S act; I see no reason for the existing arrangements. Tested for x86 (testsuite, and that disassembly of installed shared libraries is unchanged by the patch). 2014-12-19 Joseph Myers [BZ #17733] * sysdeps/unix/sysv/linux/bind.S (NO_WEAK_ALIAS): Do not define. (__bind): Do not define as weak alias. * sysdeps/unix/sysv/linux/getsockname.S (NO_WEAK_ALIAS): Do not define. (__getsockname): Do not define as weak alias. diff --git a/sysdeps/unix/sysv/linux/bind.S b/sysdeps/unix/sysv/linux/bind.S index 7719ad0..61fb5eb 100644 --- a/sysdeps/unix/sysv/linux/bind.S +++ b/sysdeps/unix/sysv/linux/bind.S @@ -1,5 +1,3 @@ #define socket bind #define NARGS 3 -#define NO_WEAK_ALIAS 1 #include -weak_alias (bind, __bind) diff --git a/sysdeps/unix/sysv/linux/getsockname.S b/sysdeps/unix/sysv/linux/getsockname.S index 9ea371f..c138be9 100644 --- a/sysdeps/unix/sysv/linux/getsockname.S +++ b/sysdeps/unix/sysv/linux/getsockname.S @@ -1,5 +1,3 @@ #define socket getsockname #define NARGS 3 -#define NO_WEAK_ALIAS 1 #include -weak_alias (getsockname, __getsockname)