]> sourceware.org Git - glibc.git/commitdiff
s390x: Add hidden definition for __sigsetjmp
authorFlorian Weimer <fweimer@redhat.com>
Tue, 15 Nov 2016 14:51:01 +0000 (15:51 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Tue, 15 Nov 2016 14:51:01 +0000 (15:51 +0100)
ChangeLog
sysdeps/s390/s390-32/setjmp.S
sysdeps/s390/s390-64/setjmp.S

index 740d796a92161971c7f77d8bd6477ca6cbc6d64c..e88b7603edb7b712ad51e298c821dfc3edc52924 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2016-11-15  Florian Weimer  <fweimer@redhat.com>
+
+       * sysdeps/s390/s390-64/setjmp.S (NEED_COMPAT_SYMBOLS): New macro.
+       (libc_hidden_def): Remove redefinition.
+       (__sigsetjmp): Add hidden definition.
+       * sysdeps/s390/s390-32/setjmp.S (NEED_COMPAT_SYMBOLS): New macro.
+       (libc_hidden_def): Remove redefinition.
+       (__sigsetjmp): Add hidden definition.
+
 2016-11-14  Joseph Myers  <joseph@codesourcery.com>
 
        * scripts/build-many-glibcs.py (os.path): Do not import.
index dbacb0fdf269c97695321a28985c0053b28de319..9ed479bbb17f7945263853b1944167ea22890ca5 100644 (file)
 #include <shlib-compat.h>
 #include <stap-probe.h>
 
-#if !IS_IN (rtld)
-# if defined SHARED &&  SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)
-       /* we need a unique name in case of symbol versioning.  */
-#  define setjmp __v1setjmp
-#  define _setjmp __v1_setjmp
-#  define __sigsetjmp __v1__sigsetjmp
-
-#  undef libc_hidden_def
-#  define libc_hidden_def(name) strong_alias(_setjmp, __GI__setjmp)
-# endif /* if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)  */
-#endif /* !IS_IN (rtld)  */
+#if !IS_IN (rtld) && defined SHARED \
+  && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)
+# define NEED_COMPAT_SYMBOLS 1
+/* We need a unique name in case of symbol versioning.  */
+# define setjmp __v1setjmp
+# define _setjmp __v1_setjmp
+# define __sigsetjmp __v1__sigsetjmp
+#else
+# define NEED_COMPAT_SYMBOLS 0
+#endif
 
        /* We include the BSD entry points here as well.  */
 ENTRY (setjmp)
@@ -47,7 +46,11 @@ ENTRY(_setjmp)
        lhi    %r3,0                /* second argument of zero */
        j      .Linternal_sigsetjmp /* branch relativ to __sigsetjmp */
 END (_setjmp)
+#if NEED_COMPAT_SYMBOLS
+strong_alias (_setjmp, __GI__setjmp)
+#else
 libc_hidden_def (_setjmp)
+#endif
 
 ENTRY(__setjmp)
        lhi    %r3,0                /* second argument of zero */
@@ -92,15 +95,19 @@ ENTRY(__sigsetjmp)
 .L1:    .long  __sigjmp_save
 #endif
 END (__sigsetjmp)
+#if NEED_COMPAT_SYMBOLS
+strong_alias (__sigsetjmp, __GI___sigsetjmp)
+#else
+libc_hidden_def (__sigsetjmp)
+#endif
 
-#if !IS_IN (rtld)
-# if defined SHARED &&  SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)
+#if NEED_COMPAT_SYMBOLS
 /* In glibc release 2.19 new versions of setjmp-functions were introduced,
    but were reverted before 2.20. Thus both versions are the same function.  */
 
-#  undef setjmp
-#  undef _setjmp
-#  undef __sigsetjmp
+# undef setjmp
+# undef _setjmp
+# undef __sigsetjmp
 
 strong_alias (__v1setjmp, __v2setjmp);
 versioned_symbol (libc, __v1setjmp, setjmp, GLIBC_2_0);
@@ -113,5 +120,4 @@ compat_symbol (libc, __v2_setjmp, _setjmp, GLIBC_2_19);
 strong_alias (__v1__sigsetjmp, __v2__sigsetjmp);
 versioned_symbol (libc, __v1__sigsetjmp, __sigsetjmp, GLIBC_2_0);
 compat_symbol (libc, __v2__sigsetjmp, __sigsetjmp, GLIBC_2_19);
-# endif /* if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)  */
-#endif /* if !IS_IN (rtld)  */
+#endif /* NEED_COMPAT_SYMBOLS */
index bbcb70db5f309b9a97345d552a08749cb3c1efd1..63dd142d5dc3f11b031a7d19d93a555eea372a04 100644 (file)
 #include <shlib-compat.h>
 #include <stap-probe.h>
 
-#if !IS_IN (rtld)
-# if defined SHARED &&  SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)
-       /* we need a unique name in case of symbol versioning.  */
-#  define setjmp __v1setjmp
-#  define _setjmp __v1_setjmp
-#  define __sigsetjmp __v1__sigsetjmp
-
-#  undef libc_hidden_def
-#  define libc_hidden_def(name) strong_alias(_setjmp, __GI__setjmp)
-# endif /* if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)  */
-#endif /* !IS_IN (rtld)  */
+#if !IS_IN (rtld) && defined SHARED \
+  && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)
+# define NEED_COMPAT_SYMBOLS 1
+/* We need a unique name in case of symbol versioning.  */
+# define setjmp __v1setjmp
+# define _setjmp __v1_setjmp
+# define __sigsetjmp __v1__sigsetjmp
+#else
+# define NEED_COMPAT_SYMBOLS 0
+#endif
 
        /* We include the BSD entry points here as well.  */
 ENTRY (setjmp)
@@ -47,7 +46,11 @@ ENTRY(_setjmp)
        slgr   %r3,%r3              /* Second argument of zero.  */
        j      .Linternal_sigsetjmp /* Branch relativ to __sigsetjmp.  */
 END (_setjmp)
+#if NEED_COMPAT_SYMBOLS
+strong_alias (_setjmp, __GI__setjmp)
+#else
 libc_hidden_def (_setjmp)
+#endif
 
 ENTRY(__setjmp)
        slgr   %r3,%r3              /* Second argument of zero.  */
@@ -87,15 +90,19 @@ ENTRY(__sigsetjmp)
        jg     __sigjmp_save
 #endif
 END (__sigsetjmp)
+#if NEED_COMPAT_SYMBOLS
+strong_alias (__sigsetjmp, __GI___sigsetjmp)
+#else
+libc_hidden_def (__sigsetjmp)
+#endif
 
-#if !IS_IN (rtld)
-# if defined SHARED &&  SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)
+#if NEED_COMPAT_SYMBOLS
 /* In glibc release 2.19 new versions of setjmp-functions were introduced,
    but were reverted before 2.20. Thus both versions are the same function.  */
 
-#  undef setjmp
-#  undef _setjmp
-#  undef __sigsetjmp
+# undef setjmp
+# undef _setjmp
+# undef __sigsetjmp
 
 strong_alias (__v1setjmp, __v2setjmp);
 versioned_symbol (libc, __v1setjmp, setjmp, GLIBC_2_0);
@@ -108,5 +115,4 @@ compat_symbol (libc, __v2_setjmp, _setjmp, GLIBC_2_19);
 strong_alias (__v1__sigsetjmp, __v2__sigsetjmp);
 versioned_symbol (libc, __v1__sigsetjmp, __sigsetjmp, GLIBC_2_0);
 compat_symbol (libc, __v2__sigsetjmp, __sigsetjmp, GLIBC_2_19);
-# endif /* if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)  */
-#endif /* if !IS_IN (rtld)  */
+#endif /* NEED_COMPAT_SYMBOLS */
This page took 0.164399 seconds and 5 git commands to generate.