Magellan Linux

Diff of /trunk/mkinitrd-magellan/klibc/usr/klibc/arch/arm/setjmp.S

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1296 by niro, Sat Sep 1 22:45:15 2007 UTC revision 1297 by niro, Fri May 27 15:12:11 2011 UTC
# Line 4  Line 4 
4  # setjmp/longjmp for the ARM architecture  # setjmp/longjmp for the ARM architecture
5  #  #
6    
7    #include <klibc/asmmacros.h>
8    
9  #ifndef __thumb__  #ifndef __thumb__
10    
11  #  #
# Line 29  Line 31 
31  setjmp:  setjmp:
32   stmia r0, {r4, r5, r6, r7, r8, r9, r10, fp, sp, lr}   stmia r0, {r4, r5, r6, r7, r8, r9, r10, fp, sp, lr}
33   mov r0, #0   mov r0, #0
34   mov pc, lr   BX(lr)
35   .size setjmp,.-setjmp   .size setjmp,.-setjmp
36    
37   .text   .text
# Line 39  setjmp: Line 41  setjmp:
41  longjmp:  longjmp:
42   ldmia r0, {r4, r5, r6, r7, r8, r9, r10, fp, sp, lr}   ldmia r0, {r4, r5, r6, r7, r8, r9, r10, fp, sp, lr}
43   mov r0, r1   mov r0, r1
44   mov pc, lr   BX(lr)
45   .size longjmp,.-longjmp   .size longjmp,.-longjmp
46    
47  #else /* __thumb__ */  #else /* __thumb__ */
# Line 75  setjmp: Line 77  setjmp:
77   mov r7, sp   mov r7, sp
78   stmia r0!, {r3, r4, r5, r6, r7}   stmia r0!, {r3, r4, r5, r6, r7}
79   mov r0, #0   mov r0, #0
80   mov pc, lr   BX(lr)
81   .size setjmp,.-setjmp   .size setjmp,.-setjmp
82    
83   .text   .text
# Line 96  longjmp: Line 98  longjmp:
98   mov r0, r1   mov r0, r1
99   bne 1f   bne 1f
100   mov r0, #1   mov r0, #1
101  1: mov pc, r3  1: BX(r3)
102   .size longjmp,.-longjmp   .size longjmp,.-longjmp
103    
104  #endif /* __thumb__ */  #endif /* __thumb__ */

Legend:
Removed from v.1296  
changed lines
  Added in v.1297