summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/microblaze/__longjmp.S
diff options
context:
space:
mode:
authorCarmelo Amoroso <carmelo.amoroso@st.com>2010-11-28 21:09:47 +0100
committerCarmelo Amoroso <carmelo.amoroso@st.com>2010-11-28 21:09:47 +0100
commit57f6cce72c889f2e7b342e87a565a064320a6ee2 (patch)
tree5466406472918d3adb63398f5fb9ea1511a5e73f /libc/sysdeps/linux/microblaze/__longjmp.S
parent4ec89b87bc0eea8d9ca6b50564d12eeb3b1b0119 (diff)
parent5dea871ac73ef4608022c058b50adc946917f9b9 (diff)
Merge commit 'origin/master' into prelink
Conflicts: ldso/include/dl-hash.h Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Diffstat (limited to 'libc/sysdeps/linux/microblaze/__longjmp.S')
-rw-r--r--libc/sysdeps/linux/microblaze/__longjmp.S36
1 files changed, 20 insertions, 16 deletions
diff --git a/libc/sysdeps/linux/microblaze/__longjmp.S b/libc/sysdeps/linux/microblaze/__longjmp.S
index 2752f0bd3..c4423bec5 100644
--- a/libc/sysdeps/linux/microblaze/__longjmp.S
+++ b/libc/sysdeps/linux/microblaze/__longjmp.S
@@ -16,30 +16,34 @@
#define _ASM
#include <bits/setjmp.h>
-#include <clinkage.h>
+#include <libc-symbols.h>
.text
-C_ENTRY(__longjmp):
+ .globl C_SYMBOL_NAME(__longjmp)
+ .align 4
+C_SYMBOL_NAME(__longjmp):
/* load registers from memory to r5 (arg0) */
lwi r1, r5, 0
lwi r15, r5, 4
- lwi r18, r5, 8
- lwi r19, r5, 12
- lwi r20, r5, 16
- lwi r21, r5, 20
- lwi r22, r5, 24
- lwi r23, r5, 28
- lwi r24, r5, 32
- lwi r25, r5, 36
- lwi r26, r5, 40
- lwi r27, r5, 44
- lwi r28, r5, 48
- lwi r29, r5, 52
- lwi r30, r5, 56
+ lwi r2, r5, 8
+ lwi r13, r5, 12
+ lwi r18, r5, 16
+ lwi r19, r5, 20
+ lwi r20, r5, 24
+ lwi r21, r5, 28
+ lwi r22, r5, 32
+ lwi r23, r5, 36
+ lwi r24, r5, 40
+ lwi r25, r5, 44
+ lwi r26, r5, 48
+ lwi r27, r5, 52
+ lwi r28, r5, 56
+ lwi r29, r5, 60
+ lwi r30, r5, 64
+ lwi r31, r5, 68
addi r3, r0, 1 /* return val */
rtsd r15, 8 /* normal return */
nop
-C_END(__longjmp)
libc_hidden_def(__longjmp)