summaryrefslogtreecommitdiff
path: root/newlib/libc/machine/fr30/setjmp.S
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-01-03 17:39:24 -0700
committerPikalaxALT <pikalaxalt@gmail.com>2018-01-03 17:39:24 -0700
commita6c1ed4716cf02626ea035beb6dd4a921642ba80 (patch)
treeef582c1b52819e27bdd16097ec03b69799d04ede /newlib/libc/machine/fr30/setjmp.S
parentf6c9a624fa8a6878a7fb2b02f55e4990a20feb59 (diff)
Use libc from agbcc instead of standalone newlib\nYou must have AGBCC commit 80d029caec189587f8b9294b6c8a5a489b8f5f88 in order to compile pmd_red.gbalibc
Diffstat (limited to 'newlib/libc/machine/fr30/setjmp.S')
-rw-r--r--newlib/libc/machine/fr30/setjmp.S64
1 files changed, 0 insertions, 64 deletions
diff --git a/newlib/libc/machine/fr30/setjmp.S b/newlib/libc/machine/fr30/setjmp.S
deleted file mode 100644
index 98ac44d..0000000
--- a/newlib/libc/machine/fr30/setjmp.S
+++ /dev/null
@@ -1,64 +0,0 @@
-# setjmp/longjmp for FR30. The jmpbuf looks like this:
-#
-# Register jmpbuf offset
-# R8 0x00
-# R9 0x04
-# R10 0x08
-# R11 0x0c
-# R12 0x10
-# R13 0x14
-# R14 (FP) 0x18
-# R15 (SP) 0x1c
-# RP 0x20
-
-.macro save reg
- st \reg,@r4
- add #4,r4
-.endm
-
-.macro restore reg
- ld @r4,\reg
- add #4,r4
-.endm
-
-
- .text
- .global setjmp
-setjmp:
- save r8
- save r9
- save r10
- save r11
- save r12
- save r13
- save r14
- save r15
- mov RP,r5
- st r5,@r4
-
-# Return 0 to caller.
- ldi:8 #0,r4
- ret
-
- .global longjmp
-longjmp:
- restore r8
- restore r9
- restore r10
- restore r11
- restore r12
- restore r13
- restore r14
- restore r15
- ld @r4,r4
- mov r4,RP
-
-# If caller attempted to return 0, return 1 instead.
-
- mov r5,r4
- or r4,r4
- bne 1f
- ldi:8 #1,r4
- 1:
- ret
- \ No newline at end of file