1 |
vapier 14/01/25 22:05:31 |
2 |
|
3 |
Added: 00_all_0034-ARM-Fix-clone-build-for-ARMv4.patch |
4 |
Log: |
5 |
add fix from upstream for building for armv4 non-thumb targets |
6 |
|
7 |
Revision Changes Path |
8 |
1.1 src/patchsets/glibc/2.18/00_all_0034-ARM-Fix-clone-build-for-ARMv4.patch |
9 |
|
10 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.18/00_all_0034-ARM-Fix-clone-build-for-ARMv4.patch?rev=1.1&view=markup |
11 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.18/00_all_0034-ARM-Fix-clone-build-for-ARMv4.patch?rev=1.1&content-type=text/plain |
12 |
|
13 |
Index: 00_all_0034-ARM-Fix-clone-build-for-ARMv4.patch |
14 |
=================================================================== |
15 |
From f09e8aec0cf7a8ddda8ae04859f3e256c1741775 Mon Sep 17 00:00:00 2001 |
16 |
From: Will Newton <will.newton@××××××.org> |
17 |
Date: Thu, 23 Jan 2014 11:11:24 +0000 |
18 |
Subject: [PATCH] ARM: Fix clone build for ARMv4 |
19 |
|
20 |
ARMv4 does not have the blx instruction, so use the BLX macro which |
21 |
handles abstracting this for us. |
22 |
|
23 |
Build tested for armv7, armv4t and armv4. |
24 |
|
25 |
ports/ChangeLog.arm: |
26 |
|
27 |
2014-01-24 Will Newton <will.newton@××××××.org> |
28 |
|
29 |
[BZ #16499] |
30 |
* sysdeps/unix/sysv/linux/arm/clone.S: Use BLX macro instead |
31 |
of blx instruction directly. |
32 |
|
33 |
(cherry picked from commit 47590bce28616abbcee93457da91d65a7a07589b) |
34 |
--- |
35 |
ports/sysdeps/unix/sysv/linux/arm/clone.S | 8 +------- |
36 |
1 file changed, 1 insertion(+), 7 deletions(-) |
37 |
|
38 |
diff --git a/ports/sysdeps/unix/sysv/linux/arm/clone.S b/ports/sysdeps/unix/sysv/linux/arm/clone.S |
39 |
index 6e74fa7..1f45cf3 100644 |
40 |
--- a/ports/sysdeps/unix/sysv/linux/arm/clone.S |
41 |
+++ b/ports/sysdeps/unix/sysv/linux/arm/clone.S |
42 |
@@ -88,14 +88,8 @@ PSEUDO_END (__clone) |
43 |
#endif |
44 |
@ pick the function arg and call address off the stack and execute |
45 |
ldr r0, [sp, #4] |
46 |
-#if defined(__ARM_ARCH_4T__) && defined(__THUMB_INTERWORK__) |
47 |
ldr ip, [sp], #8 |
48 |
- mov lr, pc |
49 |
- bx ip |
50 |
-#else |
51 |
- ldr lr, [sp], #8 |
52 |
- blx lr |
53 |
-#endif |
54 |
+ BLX (ip) |
55 |
|
56 |
@ and we are done, passing the return value through r0 |
57 |
b PLTJMP(HIDDEN_JUMPTARGET(_exit)) |
58 |
-- |
59 |
1.8.5.3 |