diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-12-22 12:46:27 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2014-12-22 12:46:27 +0000 |
commit | 935ab8179287f3b7aefdbe3829110d369be1a5c8 (patch) | |
tree | 1871bd55723cb03af4a777e9a88ec9247ddee6f4 /sysdeps | |
parent | cc8623f196cd5d1c82573b34cb3a6a56f712790a (diff) | |
download | glibc-935ab8179287f3b7aefdbe3829110d369be1a5c8.tar.gz glibc-935ab8179287f3b7aefdbe3829110d369be1a5c8.tar.xz glibc-935ab8179287f3b7aefdbe3829110d369be1a5c8.zip |
Fix resolver bind, getsockname namespace (bug 17733).
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). [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.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/unix/sysv/linux/bind.S | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/getsockname.S | 2 |
2 files changed, 0 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/bind.S b/sysdeps/unix/sysv/linux/bind.S index 7719ad0be8..61fb5ebff8 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 <socket.S> -weak_alias (bind, __bind) diff --git a/sysdeps/unix/sysv/linux/getsockname.S b/sysdeps/unix/sysv/linux/getsockname.S index 9ea371ff6e..c138be9da5 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 <socket.S> -weak_alias (getsockname, __getsockname) |