diff options
Diffstat (limited to 'sysdeps/powerpc')
-rw-r--r-- | sysdeps/powerpc/longjmp.c | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/novmx-longjmp.c | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/novmx-sigjmp.c | 5 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/__longjmp.S | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/bsd-setjmp.S | 37 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/__longjmp.S | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/bsd-setjmp.S | 36 | ||||
-rw-r--r-- | sysdeps/powerpc/sigjmp.c | 6 |
8 files changed, 27 insertions, 73 deletions
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) -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)) +ENTRY (__vmxsetjmp) 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__setjmp, __setjmp) +default_symbol_version (__vmxsetjmp,setjmp,GLIBC_2.3.4) 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)) - li r4,1 /* Set second argument to 1. */ - b JUMPTARGET (BP_SYM (__novmx__sigsetjmp)) -END (BP_SYM (__novmxsetjmp)) -ENTRY (BP_SYM (__novmx__setjmp)) +ENTRY (__novmxsetjmp) 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) */ + b JUMPTARGET (__novmx__sigsetjmp) +END (__novmxsetjmp) +strong_alias (__novmxsetjmp, __novmx__setjmp) +symbol_version (__novmxsetjmp, setjmp, GLIBC_2.3) -default_symbol_version (__vmx__setjmp,__setjmp,GLIBC_2.3.4) -default_symbol_version (__vmxsetjmp,setjmp,GLIBC_2.3.4) +#endif /* defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, 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)) +ENTRY (__vmxsetjmp) 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 |