summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/avr32/setjmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/avr32/setjmp.S')
-rw-r--r--libc/sysdeps/linux/avr32/setjmp.S29
1 files changed, 29 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/avr32/setjmp.S b/libc/sysdeps/linux/avr32/setjmp.S
new file mode 100644
index 000000000..77f80d277
--- /dev/null
+++ b/libc/sysdeps/linux/avr32/setjmp.S
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2004-2007 Atmel Corporation
+ *
+ * This file is subject to the terms and conditions of the GNU Lesser General
+ * Public License. See the file "COPYING.LIB" in the main directory of this
+ * archive for more details.
+ */
+#define _SETJMP_H
+#define _ASM
+#include <bits/setjmp.h>
+
+ .text
+
+ .global __sigsetjmp
+ .type __sigsetjmp,"function"
+
+ .align 1
+__sigsetjmp:
+ mustr r8
+ stm r12, r0,r1,r2,r3,r4,r5,r6,r7,r8,sp,lr
+
+ /*
+ * Make a tail call to __sigjmp_save; it takes the same args
+ * and is hidden so we don't need to mess around with the GOT.
+ */
+ rjmp __sigjmp_save
+ .size __sigsetjmp, . - __sigsetjmp
+
+libc_hidden_def(__sigsetjmp)