search for: __thumb__

Displaying 14 results from an estimated 14 matches for "__thumb__".

2006 Jun 26
0
[klibc 22/43] arm support for klibc
...rch/arm/crt0.S new file mode 100644 index 0000000..1e81f8e --- /dev/null +++ b/usr/klibc/arch/arm/crt0.S @@ -0,0 +1,23 @@ +# +# arch/arm/crt0.S +# +# void _start(void) +# { +# __libc_init(elf_structure, atexit_ptr); +# } +# + + .text + .balign 4 + .type _start,#function + .globl _start + +#ifdef __thumb__ + .thumb_func +#endif + +_start: mov r0, sp + mov r1, #0 + bl __libc_init + + .size _start,.-_start diff --git a/usr/klibc/arch/arm/setjmp.S b/usr/klibc/arch/arm/setjmp.S new file mode 100644 index 0000000..1841bc7 --- /dev/null +++ b/usr/klibc/arch/arm/setjmp.S @@ -0,0 +1,102 @@ +# +# arch/arm/set...
2011 Feb 16
2
fwd: fix up ARM assembly to use 'bx lr' in place of 'mov pc, lr'.
..., lr +#else + bx lr +#endif .size setjmp,.-setjmp .text @@ -39,7 +43,11 @@ setjmp: longjmp: ldmia r0, {r4, r5, r6, r7, r8, r9, r10, fp, sp, lr} mov r0, r1 +#if defined (___ARM_ARCH_4T__) || defined (__ARM_ARCH_4__) mov pc, lr +#else + bx lr +#endif .size longjmp,.-longjmp #else /* __thumb__ */ @@ -75,7 +83,11 @@ setjmp: mov r7, sp stmia r0!, {r3, r4, r5, r6, r7} mov r0, #0 +#if defined (___ARM_ARCH_4T__) || defined (__ARM_ARCH_4__) mov pc, lr +#else + bx lr +#endif .size setjmp,.-setjmp .text @@ -96,7 +108,11 @@ longjmp: mov r0, r1 bne 1f mov r0, #1 +#if defined (_...
2011 May 17
2
[PATCH] arm: use bx on thumb2 v3
...LIBC_SYSCONFIG_H */ diff --git a/usr/klibc/arch/arm/setjmp.S b/usr/klibc/arch/arm/setjmp.S index 2232458..6018bda 100644 --- a/usr/klibc/arch/arm/setjmp.S +++ b/usr/klibc/arch/arm/setjmp.S @@ -4,6 +4,8 @@ # setjmp/longjmp for the ARM architecture # +#include <klibc/asmmacros.h> + #ifndef __thumb__ # @@ -29,7 +31,7 @@ setjmp: stmia r0, {r4, r5, r6, r7, r8, r9, r10, fp, sp, lr} mov r0, #0 - mov pc, lr + BX(lr) .size setjmp,.-setjmp .text @@ -39,7 +41,7 @@ setjmp: longjmp: ldmia r0, {r4, r5, r6, r7, r8, r9, r10, fp, sp, lr} mov r0, r1 - mov pc, lr + BX(lr) .size longjmp,.-l...
2004 Feb 22
3
ARM/Thumb updates and some other minor tweaks
...n means align on a 2^n boundary + .globl __exit_handler + .type __exit_handler,object + +__exit_handler: + .word _exit + .size __exit_handler,4 + + + .text + .align 2 @ For ARM, align means align on a 2^n boundary + .globl exit + .type exit,function + .globl _exit + .type _exit,function + +#ifdef __thumb__ + + .thumb_func +exit: + ldr r1, =__exit_handler + ldr r1, [r1, #0] + bx r1 + .size exit,.-exit + + .thumb_func +_exit: + mov r7, #__NR_exit + swi 0 + .size exit,.-_exit + +#else + +exit: + ldr r1, =__exit_handler + ldr pc, [r1, #0] + .size exit,.-exit + +_exit: + swi $__NR_exit + .size exit,.-_exi...
2012 Jun 29
1
[LLVMdev] Request for merge: GHC/ARM calling convention.
...We also initially make sure that there are @RESERVED_C_STACK_BYTES@ on the * C-stack. This is done to reserve some space for the allocation of * temporaries in STG code. If you are then curious how ARM-specific StgRun implementation looks, then here it is: #ifdef arm_HOST_ARCH #if defined(__thumb__) #define THUMB_FUNC ".thumb\n\t.thumb_func\n\t" #else #define THUMB_FUNC #endif StgRegTable * StgRun(StgFunPtr f, StgRegTable *basereg) { StgRegTable * r; __asm__ volatile ( /* * save callee-saves registers on behalf of the STG code. */ &qu...
2012 Jun 29
0
[LLVMdev] Request for merge: GHC/ARM calling convention.
On 29 June 2012 17:46, Karel Gardas <karel.gardas at centrum.cz> wrote: > Yes and no. Shortly: original GHC/ARM/LLVM port was done by Stephen on > ARMv5/Qemu IIRC. I've later added whole VFP support and ARMv7 support. The > code in GHC is properly #ifdefed, so if there is no VFP available on pre > ARMv6, then it's not used. ie. GHC STG floating points regs are then >
2012 Jun 29
2
[LLVMdev] Request for merge: GHC/ARM calling convention.
Hi Renato, On 06/25/12 12:13 AM, Renato Golin wrote: > Hi Karel, > > I understand this patch has already been merged (to 3.0), so don't > take my question as stopping the merge to head, I'm just making sure I > got it right... The rest looks correct. > > + CCIfType<[v2f64], CCAssignToReg<[Q4, Q5]>>, > + CCIfType<[f64], CCAssignToReg<[D8, D9,
2012 Jun 28
1
Bug#634890: klibc issues on armhf (not Debian/armel)
On Tue, 19 Jun 2012, Steve McIntyre wrote: > > More debugging results: > > * If I replace -Os with -O0 to disable optimisation, the crash goes > away too. Suggests (maybe) a compiler bug here... nasty. :| > * There's a real bug in the ARM assembly version of longjmp in > usr/klibc/arch/arm/setjmp.S: it will always pass back its first > argument as a
2012 Oct 03
0
[klibc:master] [PATCH] fix ARM longjmp with zero 'val'.
...r/klibc/arch/arm/setjmp.S +++ b/usr/klibc/arch/arm/setjmp.S @@ -40,10 +40,9 @@ setjmp: .type longjmp, #function longjmp: ldmia r0, {r4, r5, r6, r7, r8, r9, r10, fp, sp, lr} - mov r0, r1 - bne 1f - mov r0, #1 -1: BX(lr) + movs r0, r1 + moveq r0, #1 + BX(lr) .size longjmp,.-longjmp #else /* __thumb__ */
2012 Oct 02
2
[PATCH] fix ARM longjmp with zero 'val'.
...@ setjmp: .type longjmp, #function longjmp: ldmia r0, {r4, r5, r6, r7, r8, r9, r10, fp, sp, lr} - mov r0, r1 - bne 1f - mov r0, #1 -1: BX(lr) + movs r0, r1 + moveq r0, #1 + BX(lr) .size longjmp,.-longjmp #else /* __thumb__ */
2012 Jul 01
2
[klibc:master] arm/setjmp.S: fix longjmp
.../arch/arm/setjmp.S index 6018bda..d351e0e 100644 --- a/usr/klibc/arch/arm/setjmp.S +++ b/usr/klibc/arch/arm/setjmp.S @@ -41,7 +41,9 @@ setjmp: longjmp: ldmia r0, {r4, r5, r6, r7, r8, r9, r10, fp, sp, lr} mov r0, r1 - BX(lr) + bne 1f + mov r0, #1 +1: BX(lr) .size longjmp,.-longjmp #else /* __thumb__ */
2011 Mar 30
0
(fwd) Bug#618616: arm build failure with latest binutils - usr/klibc/syscalls/_exit.S:29: Error: .size expression does not evaluate to a constant
...d with recent binutils and was generating broken assembler anyway Author: Lo?c Minier <loic.minier at linaro.org> --- klibc-1.5.20.orig/usr/klibc/arch/arm/sysstub.ph +++ klibc-1.5.20/usr/klibc/arch/arm/sysstub.ph @@ -52,7 +52,7 @@ sub make_sysstub($$$$$@) { print OUT "#endif /* __thumb__*/\n"; - print OUT " .size __syscall${i},.-__syscall${i}\n"; + print OUT " .size ${fname},.-${fname}\n"; } 1; ----- End forwarded message -----
2013 Nov 12
0
[klibc:master] arm64: Add arm64 support
...64/crt0.S index 1e81f8e..0b2dd32 100644 --- a/usr/klibc/arch/arm/crt0.S +++ b/usr/klibc/arch/arm64/crt0.S @@ -1,5 +1,5 @@ # -# arch/arm/crt0.S +# arch/arm64/crt0.S # # void _start(void) # { @@ -8,16 +8,12 @@ # .text - .balign 4 + .balign 8 .type _start,#function .globl _start -#ifdef __thumb__ - .thumb_func -#endif - -_start: mov r0, sp - mov r1, #0 +_start: + mov x0, sp + mov x1, #0 bl __libc_init - .size _start,.-_start diff --git a/usr/klibc/arch/arm64/setjmp.S b/usr/klibc/arch/arm64/setjmp.S new file mode 100644 index 0000000..13ab99d --- /dev/null +++ b/usr/klibc/arch/arm64/setj...
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: