From 9b9ef823581ecee546653d6ac3fd335f7b79faca Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 5 Jul 2004 17:09:54 +0000 Subject: [PATCH] Update. 2004-07-05 Jakub Jelinek * sysdeps/powerpc/novmx-longjmp.c (__libc_longjmp, __libc_siglongjmp): Remove symbol_version. * sysdeps/powerpc/longjmp.c (__libc_longjmp, __libc_siglongjmp): Export @@GLIBC_PRIVATE, not @@GLIBC_2.3.4. * sysdeps/powerpc/sigjmp.c (__sigjmp_save): Use strong_alias unconditionally. * sysdeps/powerpc/novmx-sigjmp.c (__sigjmp_save): Remove. * sysdeps/powerpc/powerpc32/__longjmp.S (__longjmp): Use strong_alias instead of default_symbol_version, remove symbol_version. * sysdeps/powerpc/powerpc64/__longjmp.S (__longjmp): Likewise. * sysdeps/powerpc/powerpc32/bsd-setjmp.S (__novmx__setjmp): Change into strong_alias to __novmxsetjmp. (__vmx__setjmp): Similarly with __vmxsetjmp. (__setjmp): Make it strong_alias to __vmx__setjmp, remove default_symbol_version and symbol_version. * sysdeps/powerpc/powerpc64/bsd-setjmp.S (__novmx__setjmp): Change into strong_alias to __novmxsetjmp. (__vmx__setjmp): Similarly with __vmxsetjmp. (__setjmp): Make it strong_alias to __vmx__setjmp, remove default_symbol_version and symbol_version. * nscd/nscd_getgr_r.c: Include stdio-common/_itoa.h. --- ChangeLog | 26 ++++++++++++++++++ nptl/ChangeLog | 4 +++ nptl/shlib-versions | 1 + nscd/nscd_getgr_r.c | 1 + sysdeps/powerpc/longjmp.c | 4 +-- sysdeps/powerpc/novmx-longjmp.c | 4 --- sysdeps/powerpc/novmx-sigjmp.c | 5 ---- sysdeps/powerpc/powerpc32/__longjmp.S | 4 +-- sysdeps/powerpc/powerpc32/bsd-setjmp.S | 37 ++++++++------------------ sysdeps/powerpc/powerpc64/__longjmp.S | 4 +-- sysdeps/powerpc/powerpc64/bsd-setjmp.S | 34 ++++++++--------------- sysdeps/powerpc/sigjmp.c | 6 ----- 12 files changed, 58 insertions(+), 72 deletions(-) diff --git a/ChangeLog b/ChangeLog index e9cdaede54..ffa376d0e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,29 @@ +2004-07-05 Jakub Jelinek + + * sysdeps/powerpc/novmx-longjmp.c (__libc_longjmp, + __libc_siglongjmp): Remove symbol_version. + * sysdeps/powerpc/longjmp.c (__libc_longjmp, __libc_siglongjmp): + Export @@GLIBC_PRIVATE, not @@GLIBC_2.3.4. + * sysdeps/powerpc/sigjmp.c (__sigjmp_save): Use strong_alias + unconditionally. + * sysdeps/powerpc/novmx-sigjmp.c (__sigjmp_save): Remove. + * sysdeps/powerpc/powerpc32/__longjmp.S (__longjmp): Use + strong_alias instead of default_symbol_version, remove + symbol_version. + * sysdeps/powerpc/powerpc64/__longjmp.S (__longjmp): Likewise. + * sysdeps/powerpc/powerpc32/bsd-setjmp.S (__novmx__setjmp): Change + into strong_alias to __novmxsetjmp. + (__vmx__setjmp): Similarly with __vmxsetjmp. + (__setjmp): Make it strong_alias to __vmx__setjmp, remove + default_symbol_version and symbol_version. + * sysdeps/powerpc/powerpc64/bsd-setjmp.S (__novmx__setjmp): Change + into strong_alias to __novmxsetjmp. + (__vmx__setjmp): Similarly with __vmxsetjmp. + (__setjmp): Make it strong_alias to __vmx__setjmp, remove + default_symbol_version and symbol_version. + + * nscd/nscd_getgr_r.c: Include stdio-common/_itoa.h. + 2004-07-05 Ulrich Drepper * elf/rtld.c (dl_main): Mark dyn_temp with attribute_relro. diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 8a81100cf4..5c4c43dbf3 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,7 @@ +2004-07-05 Jakub Jelinek + + * shlib-versions: Add powerpc64-.*-linux.*. + 2004-07-04 Jakub Jelinek * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S diff --git a/nptl/shlib-versions b/nptl/shlib-versions index 9493a31978..5e18753be2 100644 --- a/nptl/shlib-versions +++ b/nptl/shlib-versions @@ -6,4 +6,5 @@ hppa.*-.*-linux.* libpthread=0 GLIBC_2.2 s390x-.*-linux.* libpthread=0 GLIBC_2.2 cris-.*-linux.* libpthread=0 GLIBC_2.2 x86_64-.*-linux.* libpthread=0 GLIBC_2.2.5 +powerpc64-.*-linux.* libpthread=0 GLIBC_2.3 .*-.*-linux.* libpthread=0 diff --git a/nscd/nscd_getgr_r.c b/nscd/nscd_getgr_r.c index c57c6e7e61..b9cde73044 100644 --- a/nscd/nscd_getgr_r.c +++ b/nscd/nscd_getgr_r.c @@ -29,6 +29,7 @@ #include #include #include +#include #include "nscd-client.h" #include "nscd_proto.h" diff --git a/sysdeps/powerpc/longjmp.c b/sysdeps/powerpc/longjmp.c index 6d79f04b70..0345492c23 100644 --- a/sysdeps/powerpc/longjmp.c +++ b/sysdeps/powerpc/longjmp.c @@ -55,8 +55,8 @@ weak_alias (__vmx__libc_siglongjmp, __vmxlongjmp) weak_alias (__vmx__libc_siglongjmp, __vmxsiglongjmp) -default_symbol_version (__vmx__libc_longjmp, __libc_longjmp, GLIBC_2.3.4); -default_symbol_version (__vmx__libc_siglongjmp, __libc_siglongjmp, GLIBC_2.3.4); +default_symbol_version (__vmx__libc_longjmp, __libc_longjmp, GLIBC_PRIVATE); +default_symbol_version (__vmx__libc_siglongjmp, __libc_siglongjmp, GLIBC_PRIVATE); default_symbol_version (__vmx_longjmp, _longjmp, GLIBC_2.3.4); default_symbol_version (__vmxlongjmp, longjmp, GLIBC_2.3.4); default_symbol_version (__vmxsiglongjmp, siglongjmp, GLIBC_2.3.4); diff --git a/sysdeps/powerpc/novmx-longjmp.c b/sysdeps/powerpc/novmx-longjmp.c index d823239ea6..b4a6b56aa9 100644 --- a/sysdeps/powerpc/novmx-longjmp.c +++ b/sysdeps/powerpc/novmx-longjmp.c @@ -53,14 +53,10 @@ weak_alias (__novmx__libc_siglongjmp, __novmxlongjmp) weak_alias (__novmx__libc_siglongjmp, __novmxsiglongjmp) # if __WORDSIZE == 64 -symbol_version (__novmx__libc_longjmp,__libc_longjmp,GLIBC_2.3); -symbol_version (__novmx__libc_siglongjmp,__libc_siglongjmp,GLIBC_2.3); symbol_version (__novmx_longjmp,_longjmp,GLIBC_2.3); symbol_version (__novmxlongjmp,longjmp,GLIBC_2.3); symbol_version (__novmxsiglongjmp,siglongjmp,GLIBC_2.3); # else -symbol_version (__novmx__libc_longjmp,__libc_longjmp,GLIBC_2.0); -symbol_version (__novmx__libc_siglongjmp,__libc_siglongjmp,GLIBC_2.0); symbol_version (__novmx_longjmp,_longjmp,GLIBC_2.0); symbol_version (__novmxlongjmp,longjmp,GLIBC_2.0); symbol_version (__novmxsiglongjmp,siglongjmp,GLIBC_2.0); diff --git a/sysdeps/powerpc/novmx-sigjmp.c b/sysdeps/powerpc/novmx-sigjmp.c index 7489ded4a9..f5d487f52c 100644 --- a/sysdeps/powerpc/novmx-sigjmp.c +++ b/sysdeps/powerpc/novmx-sigjmp.c @@ -41,10 +41,5 @@ __novmx__sigjmp_save (__novmx__sigjmp_buf env, int savemask) return 0; } -# if __WORDSIZE == 64 -symbol_version (__novmx__sigjmp_save,__sigjmp_save,GLIBC_2.3); -# else -symbol_version (__novmx__sigjmp_save,__sigjmp_save,GLIBC_2.0); -# endif /* __WORDSIZE == 64 */ # endif /* SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) */ #endif /* !NOT_IN_libc && SHARED */ diff --git a/sysdeps/powerpc/powerpc32/__longjmp.S b/sysdeps/powerpc/powerpc32/__longjmp.S index 79c50deacd..5a050f1e71 100644 --- a/sysdeps/powerpc/powerpc32/__longjmp.S +++ b/sysdeps/powerpc/powerpc32/__longjmp.S @@ -25,15 +25,13 @@ # include "__longjmp-common.S" #else /* !NOT_IN_libc */ -/* Build a versioned object for libc. */ -default_symbol_version (__vmx__longjmp,__longjmp,GLIBC_2.3.4); +strong_alias (__vmx__longjmp, __longjmp); # define __longjmp __vmx__longjmp # include "__longjmp-common.S" # if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) # define __NO_VMX__ # undef JB_SIZE -symbol_version (__novmx__longjmp,__longjmp,GLIBC_2.0); # undef __longjmp # define __longjmp __novmx__longjmp # include "__longjmp-common.S" diff --git a/sysdeps/powerpc/powerpc32/bsd-setjmp.S b/sysdeps/powerpc/powerpc32/bsd-setjmp.S index f40785624a..159b122ca5 100644 --- a/sysdeps/powerpc/powerpc32/bsd-setjmp.S +++ b/sysdeps/powerpc/powerpc32/bsd-setjmp.S @@ -23,34 +23,19 @@ #if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) - -/* We need 2 copies of identical code for the setjmp's as gas complains - erroneously about having multiple versions of setjmp. This eliminates the - need for the strong alias of __setjmp to setjmp which - does not support versioning, i.e. another gas unimplemented feature. */ -symbol_version (__novmx__setjmp,__setjmp,GLIBC_2.0) -symbol_version (__novmxsetjmp,setjmp,GLIBC_2.0) - -ENTRY (BP_SYM (__novmxsetjmp)) +ENTRY (__novmxsetjmp) li r4,1 /* Set second argument to 1. */ - b JUMPTARGET (BP_SYM (__novmx__sigsetjmp)) -END (BP_SYM (__novmxsetjmp)) + b JUMPTARGET (__novmx__sigsetjmp) +END (__novmxsetjmp) +strong_alias (__novmxsetjmp, __novmx__setjmp) +symbol_version (__novmxsetjmp, setjmp, GLIBC_2.0) -ENTRY (BP_SYM (__novmx__setjmp)) - li r4,1 /* Set second argument to 1. */ - b JUMPTARGET (BP_SYM (__novmx__sigsetjmp)) -END (BP_SYM (__novmx__setjmp)) #endif /* defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) ) */ -default_symbol_version (__vmx__setjmp,__setjmp,GLIBC_2.3.4) +ENTRY (__vmxsetjmp) + li r4,1 /* Set second argument to 1. */ + b JUMPTARGET (__vmx__sigsetjmp) +END (__vmxsetjmp) +strong_alias (__vmxsetjmp, __vmx__setjmp) +strong_alias (__vmx__setjmp, __setjmp) default_symbol_version (__vmxsetjmp,setjmp,GLIBC_2.3.4) - -ENTRY (BP_SYM (__vmxsetjmp)) - li r4,1 /* Set second argument to 1. */ - b JUMPTARGET (BP_SYM (__vmx__sigsetjmp)) -END (BP_SYM (__vmxsetjmp)) - -ENTRY (BP_SYM (__vmx__setjmp)) - li r4,1 /* Set second argument to 1. */ - b JUMPTARGET (BP_SYM (__vmx__sigsetjmp)) -END (BP_SYM (__vmx__setjmp)) diff --git a/sysdeps/powerpc/powerpc64/__longjmp.S b/sysdeps/powerpc/powerpc64/__longjmp.S index 834ccb1691..968e9dce57 100644 --- a/sysdeps/powerpc/powerpc64/__longjmp.S +++ b/sysdeps/powerpc/powerpc64/__longjmp.S @@ -26,8 +26,7 @@ # include "__longjmp-common.S" #else /* !NOT_IN_libc */ -/* Build a versioned object for libc. */ -default_symbol_version (__vmx__longjmp,__longjmp,GLIBC_2.3.4) +strong_alias (__vmx__longjmp, __longjmp) # define __longjmp __vmx__longjmp # include "__longjmp-common.S" @@ -35,7 +34,6 @@ default_symbol_version (__vmx__longjmp,__longjmp,GLIBC_2.3.4) # define __NO_VMX__ # undef __longjmp # undef JB_SIZE -symbol_version(__novmx__longjmp,__longjmp,GLIBC_2.3) # define __longjmp __novmx__longjmp # include "__longjmp-common.S" # endif diff --git a/sysdeps/powerpc/powerpc64/bsd-setjmp.S b/sysdeps/powerpc/powerpc64/bsd-setjmp.S index 2eb191a46b..73b9a4d34e 100644 --- a/sysdeps/powerpc/powerpc64/bsd-setjmp.S +++ b/sysdeps/powerpc/powerpc64/bsd-setjmp.S @@ -23,33 +23,21 @@ #if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4) -/* We need 2 copies of identical code for the setjmp's as gas complains - erroneously about having multiple versions of setjmp. This eliminates the - need for the strong alias of __setjmp to setjmp which - does not support versioning, i.e. another gas unimplemented feature. */ -symbol_version (__novmx__setjmp,__setjmp,GLIBC_2.3) -symbol_version (__novmxsetjmp,setjmp,GLIBC_2.3) -ENTRY (BP_SYM (__novmxsetjmp)) +ENTRY (__novmxsetjmp) li r4,1 /* Set second argument to 1. */ - b JUMPTARGET (BP_SYM (__novmx__sigsetjmp)) -END (BP_SYM (__novmxsetjmp)) + b JUMPTARGET (__novmx__sigsetjmp) +END (__novmxsetjmp) +strong_alias (__novmxsetjmp, __novmx__setjmp) +symbol_version (__novmxsetjmp, setjmp, GLIBC_2.3) -ENTRY (BP_SYM (__novmx__setjmp)) - li r4,1 /* Set second argument to 1. */ - b JUMPTARGET (BP_SYM (__novmx__sigsetjmp)) -END (BP_SYM (__novmx__setjmp)) #endif /* defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4) */ -default_symbol_version (__vmx__setjmp,__setjmp,GLIBC_2.3.4) -default_symbol_version (__vmxsetjmp,setjmp,GLIBC_2.3.4) -ENTRY (BP_SYM (__vmxsetjmp)) +ENTRY (__vmxsetjmp) li r4,1 /* Set second argument to 1. */ - b JUMPTARGET (BP_SYM (__vmx__sigsetjmp)) -END (BP_SYM (__vmxsetjmp)) - -ENTRY (BP_SYM (__vmx__setjmp)) - li r4,1 /* Set second argument to 1. */ - b JUMPTARGET (BP_SYM (__vmx__sigsetjmp)) -END (BP_SYM (__vmx__setjmp)) + b JUMPTARGET (__vmx__sigsetjmp) +END (__vmxsetjmp) +strong_alias (__vmxsetjmp, __vmx__setjmp) +strong_alias (__vmx__sigsetjmp, __setjmp) +default_symbol_version (__vmxsetjmp, setjmp, GLIBC_2.3.4) diff --git a/sysdeps/powerpc/sigjmp.c b/sysdeps/powerpc/sigjmp.c index 28cbf6b065..5c8fd9eb79 100644 --- a/sysdeps/powerpc/sigjmp.c +++ b/sysdeps/powerpc/sigjmp.c @@ -37,10 +37,4 @@ __vmx__sigjmp_save (sigjmp_buf env, int savemask) return 0; } -#if defined NOT_IN_libc -/* Build a non-versioned object for rtld-*. */ strong_alias (__vmx__sigjmp_save,__sigjmp_save) -#else -/* Build a versioned object for libc. */ -default_symbol_version (__vmx__sigjmp_save,__sigjmp_save,GLIBC_2.3.4); -#endif