summaryrefslogtreecommitdiffstats
path: root/gdb/setjmp.S
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2003-05-17 00:31:50 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2003-05-17 00:31:50 +0000
commit1dc42d1fcbe293513c45cdef1a0278ae3e4ecf1a (patch)
tree103b25b68573d34e3cde9c2a3553ce9eb8352362 /gdb/setjmp.S
parente96a085af8b51d20b0925f50abb8dcc2798291e0 (diff)
downloadrockbox-1dc42d1fcbe293513c45cdef1a0278ae3e4ecf1a.tar.gz
rockbox-1dc42d1fcbe293513c45cdef1a0278ae3e4ecf1a.zip
Now compiles without newlib. Refined the Makefile a little.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3674 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'gdb/setjmp.S')
-rw-r--r--gdb/setjmp.S59
1 files changed, 59 insertions, 0 deletions
diff --git a/gdb/setjmp.S b/gdb/setjmp.S
new file mode 100644
index 0000000000..28a6ce2f43
--- /dev/null
+++ b/gdb/setjmp.S
@@ -0,0 +1,59 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2002 by Red Hat Inc
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+ .type _setjmp,@function
+ .global _setjmp
+_setjmp:
+ add #(9*4),r4
+
+ sts.l pr,@-r4
+
+ mov.l r15,@-r4
+ mov.l r14,@-r4
+ mov.l r13,@-r4
+ mov.l r12,@-r4
+
+ mov.l r11,@-r4
+ mov.l r10,@-r4
+ mov.l r9,@-r4
+ mov.l r8,@-r4
+
+ rts
+ mov #0,r0
+
+ .type _longjmp,@function
+ .global _longjmp
+_longjmp:
+ mov.l @r4+,r8
+ mov.l @r4+,r9
+ mov.l @r4+,r10
+ mov.l @r4+,r11
+
+ mov.l @r4+,r12
+ mov.l @r4+,r13
+ mov.l @r4+,r14
+ mov.l @r4+,r15
+
+ lds.l @r4+,pr
+
+ mov r5,r0
+ tst r0,r0
+ bf retr4
+ movt r0
+retr4: rts
+ nop