From 9b874b2f1eb2550e39d3e9c38772e64a767e9de2 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 17 Aug 2013 18:35:40 +0930 Subject: PowerPC ugly symbol versioning http://sourceware.org/ml/libc-alpha/2013-08/msg00090.html This patch fixes symbol versioning in setjmp/longjmp. The existing code uses raw versions, which results in wrong symbol versioning when you want to build glibc with a base version of 2.19 for LE. Note that the merging the 64-bit and 32-bit versions in novmx-lonjmp.c and pt-longjmp.c doesn't result in GLIBC_2.0 versions for 64-bit, due to the base in shlib_versions. * sysdeps/powerpc/longjmp.c: Use proper symbol versioning macros. * sysdeps/powerpc/novmx-longjmp.c: Likewise. * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Likewise. * sysdeps/powerpc/powerpc32/bsd-setjmp.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/__longjmp.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/setjmp.S: Likewise. * sysdeps/powerpc/powerpc32/mcount.c: Likewise. * sysdeps/powerpc/powerpc32/setjmp.S: Likewise. * sysdeps/powerpc/powerpc64/setjmp.S: Likewise. * nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c: Likewise. --- sysdeps/powerpc/novmx-longjmp.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'sysdeps/powerpc/novmx-longjmp.c') diff --git a/sysdeps/powerpc/novmx-longjmp.c b/sysdeps/powerpc/novmx-longjmp.c index 8f6ea357d4..b2c0e4cf5f 100644 --- a/sysdeps/powerpc/novmx-longjmp.c +++ b/sysdeps/powerpc/novmx-longjmp.c @@ -50,13 +50,7 @@ weak_alias (__novmx__libc_siglongjmp, __novmx_longjmp) weak_alias (__novmx__libc_siglongjmp, __novmxlongjmp) weak_alias (__novmx__libc_siglongjmp, __novmxsiglongjmp) -# if __WORDSIZE == 64 -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_longjmp,_longjmp,GLIBC_2.0); -symbol_version (__novmxlongjmp,longjmp,GLIBC_2.0); -symbol_version (__novmxsiglongjmp,siglongjmp,GLIBC_2.0); -# endif +compat_symbol (libc, __novmx_longjmp, _longjmp, GLIBC_2_0); +compat_symbol (libc, __novmxlongjmp, longjmp, GLIBC_2_0); +compat_symbol (libc, __novmxsiglongjmp, siglongjmp, GLIBC_2_0); #endif /* defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)) */ -- cgit 1.4.1