S390: Build failure due to nptl/pt-longjmp.c changes.
Commit Message
Hi,
i get a build-failure on s390 due to the latest change in
nptl/pt-longjmp.c
(https://sourceware.org/ml/libc-alpha/2015-02/msg00123.html).
The s390-version of pt-longjmp.c includes the generic one and adds an
additional compat-version, because those symbols were introduced and
reverted in glibc 2.19.
This patch fixes the inclusion of nptl/pt-longjmp.c and uses the
introduced macro DEFINE_LONGJMP to generate the additional symbol for
the compat-version.
Ok to commit?
Bye
Stefan
---
2015-02-12 Stefan Liebler <stli@linux.vnet.ibm.com>
* sysdeps/unix/sysv/linux/s390/pt-longjmp.c
(__v1longjmp): Remove versioned symbol.
(__v1siglongjmp): Remove alias and versioned symbol.
(__v2longjmp): Use DEFINE_LONGJMP instead of alias.
(__v2siglongjmp): Likewise.
Comments
> #if defined SHARED && SHLIB_COMPAT (libpthread, GLIBC_2_19, GLIBC_2_20)
Drop the SHARED condition. SHLIB_COMPAT already covers that.
Otherwise this looks fine to me.
@@ -20,25 +20,14 @@
#include <shlib-compat.h>
-#if defined SHARED && SHLIB_COMPAT (libpthread, GLIBC_2_19, GLIBC_2_20)
- /* we need a unique name in case of symbol versioning. */
-# define longjmp __v1longjmp
-#endif /* defined SHARED && SHLIB_COMPAT (libpthread, GLIBC_2_19, GLIBC_2_20)) */
-
#include <nptl/pt-longjmp.c>
#if defined SHARED && SHLIB_COMPAT (libpthread, GLIBC_2_19, GLIBC_2_20)
/* In glibc release 2.19 new versions of longjmp-functions were introduced,
but were reverted before 2.20. Thus both versions are the same function. */
-# undef longjmp
-
-strong_alias (__v1longjmp, __v2longjmp)
-versioned_symbol (libpthread, __v1longjmp, longjmp, GLIBC_2_0);
+DEFINE_LONGJMP (__v2longjmp)
compat_symbol (libpthread, __v2longjmp, longjmp, GLIBC_2_19);
-
-weak_alias (siglongjmp, __v1siglongjmp)
-weak_alias (siglongjmp, __v2siglongjmp)
-versioned_symbol (libpthread, __v1siglongjmp, siglongjmp, GLIBC_2_0);
+DEFINE_LONGJMP (__v2siglongjmp)
compat_symbol (libpthread, __v2siglongjmp, siglongjmp, GLIBC_2_19);
#endif /* defined SHARED && SHLIB_COMPAT (libpthread, GLIBC_2_19, GLIBC_2_20)) */