S390: Build failure due to nptl/pt-longjmp.c changes.

Message ID mbkan9$5ts$1@ger.gmane.org
State Committed
Headers

Commit Message

Stefan Liebler Feb. 13, 2015, 7:56 a.m. UTC
  On 02/12/2015 08:25 PM, Roland McGrath wrote:
>>   #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.
>

Yes you are right. Here is the same patch without SHARED condition.

---
2015-02-13  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

Andreas Krebbel Feb. 17, 2015, 7:48 a.m. UTC | #1
On 02/13/2015 08:56 AM, Stefan Liebler wrote:
> On 02/12/2015 08:25 PM, Roland McGrath wrote:
>>>   #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.
>>
> 
> Yes you are right. Here is the same patch without SHARED condition.
> 
> ---
> 2015-02-13  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.
> 

Applied. Thanks!

-Andreas-
  

Patch

diff --git a/sysdeps/unix/sysv/linux/s390/pt-longjmp.c b/sysdeps/unix/sysv/linux/s390/pt-longjmp.c
index 017ea31..2ba2b58 100644
--- a/sysdeps/unix/sysv/linux/s390/pt-longjmp.c
+++ b/sysdeps/unix/sysv/linux/s390/pt-longjmp.c
@@ -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)
+#if 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))  */
+#endif /* SHLIB_COMPAT (libpthread, GLIBC_2_19, GLIBC_2_20))  */