Displaying 4 results from an estimated 4 matches for "ldrcs".
2011 Feb 16
2
fwd: fix up ARM assembly to use 'bx lr' in place of 'mov pc, lr'.
...-booting initramfs with klibc; and the
vfork/setjmptest test cases all pass in the klibc package tree.
Fixes: https://bugs.launchpad.net/ubuntu/+source/klibc/+bug/527720
--- klibc-1.5.20.orig/usr/klibc/arch/arm/vfork.S
+++ klibc-1.5.20/usr/klibc/arch/arm/vfork.S
@@ -25,7 +25,11 @@ vfork:
ldrcs r3, 1f
mvncs r0, #0
strcs r2, [r3]
+#if defined (___ARM_ARCH_4T__) || defined (__ARM_ARCH_4__)
mov pc, lr
+#else
+ bx lr
+#endif
.balign 4
1:
@@ -49,7 +53,11 @@ vfork:
str r2, [r1]
neg r0, r0
1:
+#if defined (___ARM_ARCH_4T__) || defined (__ARM_ARCH_4__)
mov pc, lr
+...
2006 Jun 26
0
[klibc 22/43] arm support for klibc
...+#ifndef __thumb__
+ /* ARM version - this is executed after the swi, unless
+ we are compiled in EABI mode */
+
+ .balign 4
+__syscall_common:
+#ifdef __ARM_EABI__
+ ldr r4, [sp,#16]
+ ldr r5, [sp,#20]
+ ldr r7, [lr]
+ swi 0
+#endif
+ cmn r0, #4096
+ rsbcs r2, r0, #0
+ ldrcs r3, 1f
+ mvncs r0, #0
+ strcs r2, [r3]
+ ldmfd sp!,{r4,r5,r7,pc}
+
+ .balign 4
+1:
+ .word errno
+
+#else
+ /* Thumb version - must still load r4 and r5 and run swi */
+
+ .thumb_func
+ .balign 2
+__syscall_common:
+ mov r7, lr
+ ldr r4, [sp,#16]
+ sub r7, #1 /* Remove the Thumb bit...
2011 May 17
2
[PATCH] arm: use bx on thumb2 v3
...3b2d9f7..7130b65 100644
--- a/usr/klibc/arch/arm/vfork.S
+++ b/usr/klibc/arch/arm/vfork.S
@@ -4,6 +4,7 @@
* vfork - nasty system call which must not use the stack.
*/
+#include <klibc/asmmacros.h>
#include <asm/unistd.h>
.type vfork,#function
@@ -25,7 +26,7 @@ vfork:
ldrcs r3, 1f
mvncs r0, #0
strcs r2, [r3]
- mov pc, lr
+ BX(lr)
.balign 4
1:
@@ -49,7 +50,7 @@ vfork:
str r2, [r1]
neg r0, r0
1:
- mov pc, lr
+ BX(lr)
.balign 4
2:
--
1.7.2.5
2006 Jun 28
35
[klibc 00/31] klibc as a historyless patchset (updated and reorganized)
I have updated the klibc patchset based on feedback received. In
particular, the patchset has been reorganized so as not to break
git-bisect.
Additionally, this updates the patch base to 2.6.17-git12
(d38b69689c349f35502b92e20dafb30c62d49d63) and klibc 1.4.8; the main
difference on the klibc side is removal of obsolete code.
This is also available as a git tree at: