]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/uclibc/lib/contrib/uclibc/libc/sysdeps/linux/h8300/bsd-setjmp.S
Inital import
[l4.git] / l4 / pkg / uclibc / lib / contrib / uclibc / libc / sysdeps / linux / h8300 / bsd-setjmp.S
1 /* BSD `_setjmp' entry point to `sigsetjmp (..., 1)'.  H8/300 version. */
2
3 #define _ASM
4 #define _SETJMP_H
5 #include <bits/setjmp.h>
6
7 #ifdef __H8300S__
8         .h8300s
9 #else
10         .h8300h
11 #endif
12         .text
13         
14 .global _setjmp
15
16 _setjmp:
17         add.l   #JB_SIZE,er0
18         mov.l   @sp,er1         ; return PC
19         mov.l   er1,@-er0
20         mov.l   sp,@-er0
21         mov.l   er6,@-er0
22         mov.l   er5,@-er0
23         mov.l   er4,@-er0
24         sub.l   er0,er0
25 #if !defined(__PIC__)
26         jmp     @___sigjmp_save
27 #else
28         mov.l   @(___sigjmp_save@GOTOFF,er5),er1
29         jmp     @er3
30 #endif