2004-03-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/powerpc/elf/rtld-global-offsets.sym: Adjust for moving
	_dl_hwcap into _rtld_global_ro.
	* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
	* sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise.
	* sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
This commit is contained in:
Ulrich Drepper 2004-03-07 19:53:49 +00:00
parent 4166148912
commit ef690addb5
12 changed files with 199 additions and 184 deletions

View File

@ -1,3 +1,18 @@
2004-03-07 Ulrich Drepper <drepper@redhat.com>
* sysdeps/powerpc/elf/rtld-global-offsets.sym: Adjust for moving
_dl_hwcap into _rtld_global_ro.
* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
2004-03-07 Andreas Schwab <schwab@suse.de>
* elf/dl-sym.c: Include <dl-tls.h> only when USE_TLS.

View File

@ -2,6 +2,6 @@
#include <ldsodefs.h>
#define rtdl_global_offsetof(mem) offsetof (struct rtld_global, mem)
#define rtdl_global_ro_offsetof(mem) offsetof (struct rtld_global_ro, mem)
RTLD_GLOBAL_DL_HWCAP_OFFSET rtdl_global_offsetof (_dl_hwcap)
RTLD_GLOBAL_RO_DL_HWCAP_OFFSET rtdl_global_ro_offsetof (_dl_hwcap)

View File

@ -36,11 +36,11 @@ ENTRY (BP_SYM (__longjmp))
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r5
# ifdef SHARED
lwz r5,_rtld_global@got(r5)
lwz r5,_rtld_global_ro@got(r5)
mtlr r6
lwz r5,RTLD_GLOBAL_DL_HWCAP_OFFSET(r5)
lwz r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
# else
lwz r5,_rtld_global@got(r5)
lwz r5,_rtld_global_ro@got(r5)
mtlr r6
lwz r5,0(r5)
# endif

View File

@ -79,11 +79,11 @@ ENTRY (BP_SYM (__sigsetjmp))
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r5
#ifdef SHARED
lwz r5,_rtld_global@got(r5)
lwz r5,_rtld_global_ro@got(r5)
mtlr r6
lwz r5,RTLD_GLOBAL_DL_HWCAP_OFFSET(r5)
lwz r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
#else
lwz r5,_rtld_global@got(r5)
lwz r5,_rtld_global_ro@got(r5)
mtlr r6
lwz r5,0(r5)
#endif

View File

@ -32,11 +32,11 @@
#ifndef __NO_VMX__
.section ".toc","aw"
.LC__dl_hwcap:
#ifdef SHARED
.tc _rtld_global[TC],_rtld_global
#else
# ifdef SHARED
.tc _rtld_global_ro[TC],_rtld_global_ro
# else
.tc _dl_hwcap[TC],_dl_hwcap
#endif
# endif
.section ".text"
#endif
@ -44,12 +44,12 @@ ENTRY (BP_SYM (__longjmp))
CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
#ifndef __NO_VMX__
ld r5,.LC__dl_hwcap@toc(r2)
#ifdef SHARED
# ifdef SHARED
/* Load _rtld-global._dl_hwcap. */
ld r5,RTLD_GLOBAL_DL_HWCAP_OFFSET(r5)
#else
ld r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
# else
ld r5,0(r5) /* Load extern _dl_hwcap. */
#endif
# endif
andis. r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
beq no_vmx
la r5,((JB_VRS)*8)(3)
@ -63,7 +63,7 @@ ENTRY (BP_SYM (__longjmp))
addi r5,r5,32
lvx v21,0,r6
vperm v20,v1,v21,v0
#define load_misaligned_vmx_lo_loaded(loadvr,lovr,shiftvr,loadgpr,addgpr) \
# define load_misaligned_vmx_lo_loaded(loadvr,lovr,shiftvr,loadgpr,addgpr) \
addi addgpr,addgpr,32; \
lvx lovr,0,loadgpr; \
vperm loadvr,loadvr,lovr,shiftvr;

View File

@ -31,11 +31,11 @@
#ifndef __NO_VMX__
.section ".toc","aw"
.LC__dl_hwcap:
#ifdef SHARED
.tc _rtld_global[TC],_rtld_global
#else
# ifdef SHARED
.tc _rtld_global_ro[TC],_rtld_global_ro
# else
.tc _dl_hwcap[TC],_dl_hwcap
#endif
# endif
.section ".text"
#endif
@ -85,12 +85,12 @@ ENTRY (BP_SYM (__sigsetjmp))
stfd fp31,((JB_FPRS+17)*8)(3)
#ifndef __NO_VMX__
ld r5,.LC__dl_hwcap@toc(r2)
#ifdef SHARED
# ifdef SHARED
/* Load _rtld-global._dl_hwcap. */
ld r5,RTLD_GLOBAL_DL_HWCAP_OFFSET(r5)
#else
ld r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
# else
ld r5,0(r5) /* Load extern _dl_hwcap. */
#endif
# endif
andis. r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
beq no_vmx
la r5,((JB_VRS)*8)(3)
@ -114,7 +114,7 @@ ENTRY (BP_SYM (__sigsetjmp))
vsel v20,v20,v2,v3
stvx v5,0,r5
#define save_2vmx_partial(savevr,prev_savevr,hivr,shiftvr,maskvr,savegpr,addgpr) \
# define save_2vmx_partial(savevr,prev_savevr,hivr,shiftvr,maskvr,savegpr,addgpr) \
addi addgpr,addgpr,32; \
vperm savevr,savevr,savevr,shiftvr; \
vsel hivr,prev_savevr,savevr,maskvr; \

View File

@ -121,15 +121,15 @@ ENTRY(__getcontext)
mflr r8
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r7
#ifdef SHARED
# ifdef SHARED
lwz r7,_rtld_global_ro@got(r7)
mtlr r8
lwz r7,RTLD_GLOBAL_DL_HWCAP_OFFSET(r7)
#else
lwz r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r7)
# else
lwz r7,_dl_hwcap@got(r7)
mtlr r8
lwz r7,0(r7)
#endif
# endif
#else
lis r7,_dl_hwcap@ha
lwz r7,_dl_hwcap@l(r7)

View File

@ -59,15 +59,15 @@ ENTRY(__setcontext)
mflr r8
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r7
#ifdef SHARED
lwz r7,_rtld_global@got(r7)
# ifdef SHARED
lwz r7,_rtld_global_ro@got(r7)
mtlr r8
lwz r7,RTLD_GLOBAL_DL_HWCAP_OFFSET(r7)
#else
lwz r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r7)
# else
lwz r7,_dl_hwcap@got(r7)
mtlr r8
lwz r7,0(r7)
#endif
# endif
#else
lis r7,_dl_hwcap@ha
lwz r7,_dl_hwcap@l(r7)

View File

@ -123,15 +123,15 @@ ENTRY(__swapcontext)
mflr r8
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r7
#ifdef SHARED
# ifdef SHARED
lwz r7,_rtld_global_ro@got(r7)
mtlr r8
lwz r7,RTLD_GLOBAL_DL_HWCAP_OFFSET(r7)
#else
lwz r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r7)
# else
lwz r7,_dl_hwcap@got(r7)
mtlr r8
lwz r7,0(r7)
#endif
# endif
#else
lis r7,_dl_hwcap@ha
lwz r7,_dl_hwcap@l(r7)
@ -265,15 +265,15 @@ L(no_vec):
mflr r8
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r7
#ifdef SHARED
# ifdef SHARED
lwz r7,_rtld_global_ro@got(r7)
mtlr r8
lwz r7,RTLD_GLOBAL_DL_HWCAP_OFFSET(r7)
#else
lwz r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r7)
# else
lwz r7,_dl_hwcap@got(r7)
mtlr r8
lwz r7,0(r7)
#endif
# endif
#else
lis r7,_dl_hwcap@ha
lwz r7,_dl_hwcap@l(r7)

View File

@ -268,12 +268,12 @@ ENTRY(__getcontext)
ld r5,.LC__dl_hwcap@toc(r2)
li r10,0
#ifdef SHARED
# ifdef SHARED
/* Load _rtld-global._dl_hwcap. */
ld r5,RTLD_GLOBAL_DL_HWCAP_OFFSET(r5)
#else
ld r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
# else
ld r5,0(r5) /* Load extern _dl_hwcap. */
#endif
# endif
andis. r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
beq L(has_no_vec)

View File

@ -186,7 +186,7 @@ compat_symbol (libc, __novec_setcontext, setcontext, GLIBC_2_3)
.section ".toc","aw"
.LC__dl_hwcap:
#ifdef SHARED
.tc _rtld_global[TC],_rtld_global
.tc _rtld_global_ro[TC],_rtld_global_ro
#else
.tc _dl_hwcap[TC],_dl_hwcap
#endif
@ -224,12 +224,12 @@ ENTRY(__setcontext)
ld r5,.LC__dl_hwcap@toc(r2)
ld r10,(SIGCONTEXT_V_REGS_PTR)(r31)
#ifdef SHARED
# ifdef SHARED
/* Load _rtld-global._dl_hwcap. */
ld r5,RTLD_GLOBAL_DL_HWCAP_OFFSET(r5)
#else
ld r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
# else
ld r5,0(r5) /* Load extern _dl_hwcap. */
#endif
# endif
andis. r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
beq L(has_no_vec)

View File

@ -393,7 +393,7 @@ ENTRY(__swapcontext)
li r10,0
#ifdef SHARED
/* Load _rtld-global._dl_hwcap. */
ld r8,RTLD_GLOBAL_DL_HWCAP_OFFSET(r8)
ld r8,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r8)
#else
ld r8,0(r8) /* Load extern _dl_hwcap. */
#endif
@ -527,12 +527,12 @@ L(has_no_vec):
ld r8,.LC__dl_hwcap@toc(r2)
ld r10,(SIGCONTEXT_V_REGS_PTR)(r31)
#ifdef SHARED
# ifdef SHARED
/* Load _rtld-global._dl_hwcap. */
ld r8,RTLD_GLOBAL_DL_HWCAP_OFFSET(r8)
#else
ld r8,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r8)
# else
ld r8,0(r8) /* Load extern _dl_hwcap. */
#endif
# endif
andis. r8,r8,(PPC_FEATURE_HAS_ALTIVEC >> 16)
beq L(has_no_vec2)