mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-25 22:40:05 +00:00
ARM: Fix clone build for ARMv4
ARMv4 does not have the blx instruction, so use the BLX macro which handles abstracting this for us. Build tested for armv7, armv4t and armv4. ports/ChangeLog.arm: 2014-01-24 Will Newton <will.newton@linaro.org> [BZ #16499] * sysdeps/unix/sysv/linux/arm/clone.S: Use BLX macro instead of blx instruction directly.
This commit is contained in:
parent
5d41dadf31
commit
47590bce28
@ -1,3 +1,9 @@
|
||||
2014-01-24 Will Newton <will.newton@linaro.org>
|
||||
|
||||
[BZ #16499]
|
||||
* sysdeps/unix/sysv/linux/arm/clone.S: Use BLX macro instead
|
||||
of blx instruction directly.
|
||||
|
||||
2014-01-14 Will Newton <will.newton@linaro.org>
|
||||
|
||||
* sysdeps/arm/__longjmp.S: Don't apply pointer encryption
|
||||
|
@ -88,14 +88,8 @@ PSEUDO_END (__clone)
|
||||
#endif
|
||||
@ pick the function arg and call address off the stack and execute
|
||||
ldr r0, [sp, #4]
|
||||
#if defined(__ARM_ARCH_4T__) && defined(__THUMB_INTERWORK__)
|
||||
ldr ip, [sp], #8
|
||||
mov lr, pc
|
||||
bx ip
|
||||
#else
|
||||
ldr lr, [sp], #8
|
||||
blx lr
|
||||
#endif
|
||||
BLX (ip)
|
||||
|
||||
@ and we are done, passing the return value through r0
|
||||
b PLTJMP(HIDDEN_JUMPTARGET(_exit))
|
||||
|
Loading…
Reference in New Issue
Block a user