chiark / gitweb /
Make run_directory.c stat the place it is going to try to run.
[elogind.git] / klibc / klibc / arch / m32r / setjmp.S
1 #
2 # arch/m32r/setjmp.S
3 #
4 # setjmp/longjmp for the M32R architecture
5 #
6
7 #
8 # The jmp_buf is assumed to contain the following, in order:
9 #       r8-r15
10 #
11 #       Note that r14 is the return address register and
12 #       r15 is the stack pointer.
13 #
14         
15         .text
16         .balign 4
17         .globl  setjmp
18         .type   setjmp, @function
19 setjmp:
20         st      r8, @r0
21         st      r9, @+r0
22         st      r10, @+r0
23         st      r11, @+r0
24         st      r12, @+r0
25         st      r13, @+r0
26         st      r14, @+r0
27         st      r15, @+r0
28         xor     r0, r0
29         jmp     r14
30         .size   setjmp,.-setjmp
31
32         .text
33         .balign 4
34         .globl  longjmp
35         .type   longjmp, @function
36 longjmp:
37         ld      r8, @r0+
38         ld      r9, @r0+
39         ld      r10, @r0+
40         ld      r11, @r0+
41         ld      r12, @r0+
42         ld      r13, @r0+
43         ld      r14, @r0+
44         ld      r15, @r0
45         mv      r0, r1
46         jmp     r14
47         .size longjmp,.-longjmp