mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-03 08:11:08 +00:00
Update.
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:
parent
4166148912
commit
ef690addb5
15
ChangeLog
15
ChangeLog
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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; \
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user