mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-13 00:30:07 +00:00
PowerPC LE _dl_hwcap access
http://sourceware.org/ml/libc-alpha/2013-08/msg00091.html More LE support, correcting word accesses to _dl_hwcap. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S: Use HIWORD/LOWORD. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S: Ditto. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: Ditto.
This commit is contained in:
parent
9b874b2f1e
commit
02f04a6c7f
@ -1,3 +1,10 @@
|
||||
2013-10-04 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S: Use
|
||||
HIWORD/LOWORD.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S: Ditto.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: Ditto.
|
||||
|
||||
2013-10-04 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* sysdeps/powerpc/longjmp.c: Use proper symbol versioning macros.
|
||||
|
@ -151,15 +151,15 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
||||
# ifdef SHARED
|
||||
lwz r7,_rtld_global_ro@got(r7)
|
||||
mtlr r8
|
||||
lwz r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+4(r7)
|
||||
lwz r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+LOWORD(r7)
|
||||
# else
|
||||
lwz r7,_dl_hwcap@got(r7)
|
||||
mtlr r8
|
||||
lwz r7,4(r7)
|
||||
lwz r7,LOWORD(r7)
|
||||
# endif
|
||||
# else
|
||||
lis r7,(_dl_hwcap+4)@ha
|
||||
lwz r7,(_dl_hwcap+4)@l(r7)
|
||||
lis r7,(_dl_hwcap+LOWORD)@ha
|
||||
lwz r7,(_dl_hwcap+LOWORD)@l(r7)
|
||||
# endif
|
||||
andis. r7,r7,(PPC_FEATURE_HAS_ALTIVEC >> 16)
|
||||
|
||||
|
@ -79,15 +79,15 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
||||
# ifdef SHARED
|
||||
lwz r7,_rtld_global_ro@got(r7)
|
||||
mtlr r8
|
||||
lwz r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+4(r7)
|
||||
lwz r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+LOWORD(r7)
|
||||
# else
|
||||
lwz r7,_dl_hwcap@got(r7)
|
||||
mtlr r8
|
||||
lwz r7,4(r7)
|
||||
lwz r7,LOWORD(r7)
|
||||
# endif
|
||||
#else
|
||||
lis r7,(_dl_hwcap+4)@ha
|
||||
lwz r7,(_dl_hwcap+4)@l(r7)
|
||||
lis r7,(_dl_hwcap+LOWORD)@ha
|
||||
lwz r7,(_dl_hwcap+LOWORD)@l(r7)
|
||||
#endif
|
||||
|
||||
#ifdef __CONTEXT_ENABLE_FPRS
|
||||
|
@ -152,15 +152,15 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
||||
# ifdef SHARED
|
||||
lwz r7,_rtld_global_ro@got(r7)
|
||||
mtlr r8
|
||||
lwz r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+4(r7)
|
||||
lwz r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+LOWORD(r7)
|
||||
# else
|
||||
lwz r7,_dl_hwcap@got(r7)
|
||||
mtlr r8
|
||||
lwz r7,4(r7)
|
||||
lwz r7,LOWORD(r7)
|
||||
# endif
|
||||
# else
|
||||
lis r7,(_dl_hwcap+4)@ha
|
||||
lwz r7,(_dl_hwcap+4)@l(r7)
|
||||
lis r7,(_dl_hwcap+LOWORD)@ha
|
||||
lwz r7,(_dl_hwcap+LOWORD)@l(r7)
|
||||
# endif
|
||||
|
||||
# ifdef __CONTEXT_ENABLE_VRS
|
||||
@ -308,14 +308,14 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
||||
mtlr r8
|
||||
# ifdef SHARED
|
||||
lwz r7,_rtld_global_ro@got(r7)
|
||||
lwz r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+4(r7)
|
||||
lwz r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+LOWORD(r7)
|
||||
# else
|
||||
lwz r7,_dl_hwcap@got(r7)
|
||||
lwz r7,4(r7)
|
||||
lwz r7,LOWORD(r7)
|
||||
# endif
|
||||
# else
|
||||
lis r7,(_dl_hwcap+4)@ha
|
||||
lwz r7,(_dl_hwcap+4)@l(r7)
|
||||
lis r7,(_dl_hwcap+LOWORD)@ha
|
||||
lwz r7,(_dl_hwcap+LOWORD)@l(r7)
|
||||
# endif
|
||||
andis. r7,r7,(PPC_FEATURE_HAS_ALTIVEC >> 16)
|
||||
la r10,(_UC_VREGS)(r31)
|
||||
|
Loading…
Reference in New Issue
Block a user