eq settings: fix the lang string used for the center band string
[maemo-rb.git] / lib / libsetjmp / m68k / setjmp.S
blob8d547ae2fb3549b1cd70e5b2ffa559f2d97f8f35
1 /* ANSI concatenation macros.  */
3 #define CONCAT1(a, b) CONCAT2(a, b)
4 #define CONCAT2(a, b) a ## b
6 /* Use the right prefix for global labels.  */
8 #define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
10 #define d0 %d0
11 #define d1 %d1
12 #define d2 %d2
13 #define d3 %d3
14 #define d4 %d4
15 #define d5 %d5
16 #define d6 %d6
17 #define d7 %d7
18 #define a0 %a0
19 #define a1 %a1
20 #define a2 %a2
21 #define a3 %a3
22 #define a4 %a4
23 #define a5 %a5
24 #define a6 %a6
25 #define fp %fp
26 #define sp %sp
29 .global SYM (setjmp)
30 .global SYM (longjmp)
32 SYM (setjmp):
33     moveal sp@(4),a0
34     movel sp@(0),a0@(12)
35     movel sp,a0@(8)
36     moveml d2-d7/a2-a6,a0@(20)
37     clrl d0
38     rts
40 SYM (longjmp):
41     moveal sp@(4),a0
42     movel sp@(8),d0
43     bne 1f
44     movel &1,d0
46     moveml a0@(20),d2-d7/a2-a6
47     moveal a0@(8),sp
48     movel a0@(12),sp@
49     rts
51 #ifdef M68881
52 .global SYM (setjmp_68881)
53 .global SYM (longjmp_68881)
55 SYM (setjmp_68881):
56     moveal sp@(4),a0
57     movel sp@(0),a0@(12)
58     movel sp,a0@(8)
59     moveml d2-d7/a2-a6,a0@(20)
60     fmovemx fp2-fp7,a0@(64)
61     clrl d0
62     rts
64 SYM (longjmp_68881):
65     moveal sp@(4),a0
66     fmovemx a0@(64),fp2-fp7
67     movel sp@(8),d0
68     bne 1f
69     movel &1,d0
71     moveml a0@(20),d2-d7/a2-a6
72     moveal a0@(8),sp
73     movel a0@(12),sp@
74     rts
75 #endif