From patchwork Wed Jan 14 09:03:39 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Liebler X-Patchwork-Id: 4660 Received: (qmail 11801 invoked by alias); 14 Jan 2015 09:04:09 -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 11790 invoked by uid 89); 14 Jan 2015 09:04:07 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_HELO_PASS, SPF_PASS, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: plane.gmane.org To: libc-alpha@sourceware.org From: Stefan Liebler Subject: [PATCH] S390: Get rid of linknamespace failures for utmp functions. Date: Wed, 14 Jan 2015 10:03:39 +0100 Lines: 168 Message-ID: Mime-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 Hi, i get the following linknamespace-testsuite failures on s390-32: FAIL: conform/POSIX2008/glob.h/linknamespace FAIL: conform/XOPEN2K8/glob.h/linknamespace [initial] glob -> [libc.a(glob.o)] getlogin_r -> [libc.a(getlogin_r.o)] __libc_utmp_jump_table -> [libc.a(getutent_r.o)] getutent_r [initial] glob -> [libc.a(glob.o)] getlogin_r -> [libc.a(getlogin_r.o)] __libc_utmp_jump_table -> [libc.a(getutent_r.o)] pututline conform/POSIX2008/glob.h/linknamespace.out (END) FAIL: conform/POSIX2008/wordexp.h/linknamespace FAIL: conform/XOPEN2K8/wordexp.h/linknamespace [initial] wordexp -> [libc.a(wordexp.o)] glob -> [libc.a(glob.o)] getlogin_r -> [libc.a(getlogin_r.o)] __libc_utmp_jump_table -> [libc.a(getutent_r.o)] getutent_r [initial] wordexp -> [libc.a(wordexp.o)] glob -> [libc.a(glob.o)] getlogin_r -> [libc.a(getlogin_r.o)] __libc_utmp_jump_table -> [libc.a(getutent_r.o)] pututline conform/POSIX2008/wordexp.h/linknamespace.out (END) FAIL: conform/UNIX98/utmpx.h/linknamespace FAIL: conform/XOPEN2K/utmpx.h/linknamespace FAIL: conform/XOPEN2K8/utmpx.h/linknamespace FAIL: conform/XPG4/utmpx.h/linknamespace [initial] getutxent -> [libc.a(getutxent.o)] __getutent -> [libc.a(getutent.o)] getutent [initial] endutxent -> [libc.a(endutxent.o)] __endutent -> [libc.a(getutent_r.o)] getutent_r [initial] getutxid -> [libc.a(getutxid.o)] __getutid -> [libc.a(getutid.o)] getutid [initial] getutxid -> [libc.a(getutxid.o)] __getutid -> [libc.a(getutid.o)] __getutid_r -> [libc.a(getutid_r.o)] getutid_r [initial] getutxline -> [libc.a(getutxline.o)] __getutline -> [libc.a(getutline.o)] getutline [initial] getutxline -> [libc.a(getutxline.o)] __getutline -> [libc.a(getutline.o)] __getutline_r -> [libc.a(getutline_r.o)] getutline_r [initial] endutxent -> [libc.a(endutxent.o)] __endutent -> [libc.a(getutent_r.o)] pututline conform/XOPEN2K/utmpx.h/linknamespace.out (END) The commit 4057dc459ae9de59c67628db3db844c7a3765d00 introduced symbol-versioning for those utmp functions with the macro default_symbol_version, which expands to strong_alias in the STATIC-case. But in common-code those funtions are weak aliased. Thus this patch uses default_symbol_version in the SHARED-case and weak_alias in the STATIC-case. The mentioned testsuite-failues are passing now and there are no new failures. Ok to commit? Bye Stefan --- 2015-01-14 Stefan Liebler * sysdeps/unix/sysv/linux/s390/s390-32/getutent.c (getutent): Use weak_alias in non SHARED case and default_symbol_version in SHARED case. * sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c (getutent_r, pututline): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/getutid.c (getutid): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c (getutid_r): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/getutline.c (getutline): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c (getutline_r): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c (updwtmp): Likewise. diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutent.c b/sysdeps/unix/sysv/linux/s390/s390-32/getutent.c index 9488978..aa94421 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutent.c +++ b/sysdeps/unix/sysv/linux/s390/s390-32/getutent.c @@ -21,8 +21,12 @@ #include "utmp-compat.h" -#undef weak_alias -#define weak_alias(n,a) +#if defined SHARED +# undef weak_alias +# define weak_alias(n,a) +#endif #include "login/getutent.c" +#if defined SHARED default_symbol_version (__getutent, getutent, UTMP_COMPAT_BASE); +#endif diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c b/sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c index b34eaff..c00583e 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c +++ b/sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c @@ -23,12 +23,16 @@ #include "utmp-compat.h" #include "utmp-private.h" +#if defined SHARED weak_alias (__setutent, setutent) weak_alias (__endutent, endutent) -#undef weak_alias -#define weak_alias(n,a) +# undef weak_alias +# define weak_alias(n,a) +#endif #include "login/getutent_r.c" +#if defined SHARED default_symbol_version (__getutent_r, getutent_r, UTMP_COMPAT_BASE); default_symbol_version (__pututline, pututline, UTMP_COMPAT_BASE); +#endif diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutid.c b/sysdeps/unix/sysv/linux/s390/s390-32/getutid.c index bc1a003..88fdf2c 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutid.c +++ b/sysdeps/unix/sysv/linux/s390/s390-32/getutid.c @@ -21,8 +21,12 @@ #include "utmp-compat.h" -#undef weak_alias -#define weak_alias(n,a) +#if defined SHARED +# undef weak_alias +# define weak_alias(n,a) +#endif #include "login/getutid.c" +#if defined SHARED default_symbol_version (__getutid, getutid, UTMP_COMPAT_BASE); +#endif diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c b/sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c index ee149d8..20f09cd 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c +++ b/sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c @@ -24,8 +24,12 @@ #include "utmp-compat.h" #include "utmp-private.h" -#undef weak_alias -#define weak_alias(n,a) +#if defined SHARED +# undef weak_alias +# define weak_alias(n,a) +#endif #include "login/getutid_r.c" +#if defined SHARED default_symbol_version (__getutid_r, getutid_r, UTMP_COMPAT_BASE); +#endif diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutline.c b/sysdeps/unix/sysv/linux/s390/s390-32/getutline.c index 1511308..125eb7a 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutline.c +++ b/sysdeps/unix/sysv/linux/s390/s390-32/getutline.c @@ -21,8 +21,12 @@ #include "utmp-compat.h" -#undef weak_alias -#define weak_alias(n,a) +#if defined SHARED +# undef weak_alias +# define weak_alias(n,a) +#endif #include "login/getutline.c" +#if defined SHARED default_symbol_version (__getutline, getutline, UTMP_COMPAT_BASE); +#endif diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c b/sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c index 3a6f653..e9b215e 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c +++ b/sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c @@ -23,8 +23,12 @@ #include "utmp-compat.h" #include "utmp-private.h" -#undef weak_alias -#define weak_alias(n,a) +#if defined SHARED +# undef weak_alias +# define weak_alias(n,a) +#endif #include "login/getutline_r.c" +#if defined SHARED default_symbol_version (__getutline_r, getutline_r, UTMP_COMPAT_BASE);; +#endif diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c b/sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c index f13a747..4962390 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c +++ b/sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c @@ -21,8 +21,12 @@ #include "utmp-compat.h" #include "utmp-private.h" -#undef weak_alias -#define weak_alias(n,a) +#if defined SHARED +# undef weak_alias +# define weak_alias(n,a) +#endif #include "sysdeps/gnu/updwtmp.c" +#if defined SHARED default_symbol_version (__updwtmp, updwtmp, UTMP_COMPAT_BASE); +#endif