123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- .text
- .align 4
- .globl _setjmp
- .globl __setjmp
-
- _setjmp:
- mov 1, g1
- bx __sigsetjmp
- __setjmp:
- mov 0, g1
- bx __sigsetjmp
-
- .file "setjmp.S"
- .text
-
- .align 4
- .globl __sigsetjmp
- __sigsetjmp:
- flushreg
- andnot 0xf,pfp,g2
- st g2, 0x58(g0)
-
- stq g8, 0x40(g0)
- st g12, 0x50(g0)
- st g14, 0x54(g0)
-
- ldq (g2), g4
- stq g4, (g0)
- ldq 0x10(g2), g4
- stq g4, 0x10(g0)
- ldq 0x20(g2), g4
- stq g4, 0x20(g0)
- ldq 0x30(g2), g4
- stq g4, 0x30(g0)
- bx ___sigjmp_save
-
- .align 4
- .globl ___longjmp
- ___longjmp:
- call 0f
- 0:
- flushreg
- ld 0x58(g0), pfp
-
- ldq (g0), g4
- stq g4, (pfp)
- ldq 0x10(g0), g4
- stq g4, 0x10(pfp)
- ldq 0x20(g0), g4
- stq g4, 0x20(pfp)
- ldq 0x30(g0), g4
- stq g4, 0x30(pfp)
-
- ldq 0x40(g0), g8
- ld 0x50(g0), g12
- ld 0x54(g0), g14
- mov g1, g0
- cmpo g0, 0
- bne 0f
- mov 1, g0
- 0:
- ret
|