This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi! The nptl change fixes NPTL ppc64 build after 2004-07-01 Makeconfig reordering of shlib-versions. All other platforms which have DEFAULT in main shlib-versions are listed there, so IMHO it certainly doesn't hurt. Maybe it would be better to first process all DEFAULT lines and then the other ones when processing shlib-versions though (say egrep '[^[:space:]]+[[:space:]]+DEFAULT' first, then egrep -v). The other changes are because I have noticed bogus: 5314: 0000000000175970 24 FUNC LOCAL DEFAULT 29 __libc_longjmp@GLIBC_2.3 5908: 0000000000175880 24 FUNC LOCAL DEFAULT 29 __setjmp@GLIBC_2.3 6440: 0000000000175988 24 FUNC LOCAL DEFAULT 29 __sigjmp_save@GLIBC_2.3 6760: 0000000000175940 24 FUNC LOCAL DEFAULT 29 __longjmp@GLIBC_2.3 8164: 0000000000175970 24 FUNC LOCAL DEFAULT 29 __libc_siglongjmp@GLIBC_2.3 in ppc* libc.so. __libc_longjmp and __libc_siglongjmp are both GLIBC_PRIVATE in Versions files, so only vmx versions ought to be exported and as GLIBC_PRIVATE, while the remaining 3 symbols are not exported. 2004-07-05 Jakub Jelinek <jakub@redhat.com> * 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. nptl/ * shlib-versions: Add powerpc64-.*-linux.*. --- libc/nptl/shlib-versions.jj 2002-11-26 23:49:15.000000000 +0100 +++ libc/nptl/shlib-versions 2004-07-05 13:03:15.322282213 +0200 @@ -6,4 +6,5 @@ hppa.*-.*-linux.* libpthread=0 GLIBC_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 --- libc/sysdeps/powerpc/novmx-longjmp.c.jj 2004-02-14 04:27:26.000000000 +0100 +++ libc/sysdeps/powerpc/novmx-longjmp.c 2004-07-05 13:14:32.693204025 +0200 @@ -53,14 +53,10 @@ weak_alias (__novmx__libc_siglongjmp, __ 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); --- libc/sysdeps/powerpc/powerpc64/__longjmp.S.jj 2004-03-13 10:23:15.000000000 +0100 +++ libc/sysdeps/powerpc/powerpc64/__longjmp.S 2004-07-05 13:51:48.722100900 +0200 @@ -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,_ # 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 --- libc/sysdeps/powerpc/powerpc64/bsd-setjmp.S.jj 2004-03-23 15:51:35.000000000 +0100 +++ libc/sysdeps/powerpc/powerpc64/bsd-setjmp.S 2004-07-05 13:57:06.813179949 +0200 @@ -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)) - 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) --- libc/sysdeps/powerpc/powerpc32/__longjmp.S.jj 2004-03-13 10:23:15.000000000 +0100 +++ libc/sysdeps/powerpc/powerpc32/__longjmp.S 2004-07-05 14:00:52.485508208 +0200 @@ -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" --- libc/sysdeps/powerpc/powerpc32/bsd-setjmp.S.jj 2004-03-23 15:51:34.000000000 +0100 +++ libc/sysdeps/powerpc/powerpc32/bsd-setjmp.S 2004-07-05 13:59:48.342784078 +0200 @@ -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) --- libc/sysdeps/powerpc/sigjmp.c.jj 2004-03-23 15:51:34.000000000 +0100 +++ libc/sysdeps/powerpc/sigjmp.c 2004-07-05 13:45:11.804878241 +0200 @@ -37,10 +37,4 @@ __vmx__sigjmp_save (sigjmp_buf env, int 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 --- libc/sysdeps/powerpc/longjmp.c.jj 2004-03-13 10:23:15.000000000 +0100 +++ libc/sysdeps/powerpc/longjmp.c 2004-07-05 13:13:52.122336315 +0200 @@ -55,8 +55,8 @@ weak_alias (__vmx__libc_siglongjmp, __vm 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); --- libc/sysdeps/powerpc/novmx-sigjmp.c.jj 2004-02-14 04:27:57.000000000 +0100 +++ libc/sysdeps/powerpc/novmx-sigjmp.c 2004-07-05 14:19:07.628982470 +0200 @@ -41,10 +41,5 @@ __novmx__sigjmp_save (__novmx__sigjmp_bu 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 */ Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |