diff options
Diffstat (limited to 'newlib/libc/machine/mt/setjmp.S')
-rw-r--r-- | newlib/libc/machine/mt/setjmp.S | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/newlib/libc/machine/mt/setjmp.S b/newlib/libc/machine/mt/setjmp.S deleted file mode 100644 index e93bd3313..000000000 --- a/newlib/libc/machine/mt/setjmp.S +++ /dev/null @@ -1,99 +0,0 @@ -# setjmp/longjmp for mt. -# -# The jmpbuf looks like this: -# -# Register jmpbuf offset -# R0 --- -- -# R1 0x4 4 -# R2 0x8 8 -# R3 0xc 12 -# R4 0x10 16 -# R5 0x14 20 -# R6 0x18 24 -# R7 0x1c 28 -# R8 0x20 32 -# R9 ---- -- -# R10 ---- -- -# R11 0x2c 44 -# R12 0x30 48 -# R13 0x34 52 -# R14 0x38 56 -# R15 0x3c 60 -# -# R1 contains the pointer to jmpbuf - .text - .global setjmp - .type setjmp ,@function -setjmp: - - stw r1, r1, #4 - or r0, r0, r0 - stw r2, r1, #8 - or r0, r0, r0 - stw r3, r1, #12 - or r0, r0, r0 - stw r4, r1, #16 - or r0, r0, r0 - stw r5, r1, #20 - or r0, r0, r0 - stw r6, r1, #24 - or r0, r0, r0 - stw r7, r1, #28 - or r0, r0, r0 - stw r8, r1, #32 - or r0, r0, r0 - stw r11, r1, #44 - or r0, r0, r0 - stw r12, r1, #48 - or r0, r0, r0 - stw r13, r1, #52 - or r0, r0, r0 - stw r14, r1, #56 - or r0, r0, r0 - stw r15, r1, #60 - - jal r0, r14 - addi r11, r0, #0 -.Lend1: - .size setjmp,.Lend1-setjmp - - .global longjmp - .type longjmp,@function -longjmp: - or r9, r1, r1 - or r11, r2, r2 - ldw r1, r1, #4 - or r0, r0, r0 - ldw r2, r1, #8 - or r0, r0, r0 - ldw r3, r1, #12 - or r0, r0, r0 - ldw r4, r1, #16 - or r0, r0, r0 - ldw r5, r1, #20 - or r0, r0, r0 - ldw r6, r1, #24 - or r0, r0, r0 - ldw r7, r1, #28 - or r0, r0, r0 - ldw r8, r1, #32 - or r0, r0, r0 - - - ldw r12, r1, #48 - or r0, r0, r0 - ldw r13, r1, #52 - or r0, r0, r0 - ldw r14, r1, #56 - or r0, r0, r0 - ldw r15, r1, #60 - - brne r0, r11, .L01 - or r0, r0, r0 - - addi r11, r0, #1 -.L01: - jal r0, r14 - or r0, r0, r0 -.Lend2: - .size longjmp,.Lend2-longjmp2 |