3 .type _longjmp,@function
4 .type longjmp,@function
8 * void longjmp(jmp_buf env, int val);
9 * put val into return register and restore the env saved in setjmp
10 * if val(r4) is 0, put 1 there.
12 /* 0) move old return address into r0 */
14 /* 1) put it into link reg */
16 /* 2 ) restore stack ptr */
18 /* 3) restore control reg */
21 /* 4) restore r14-r31 */
40 #if defined(_SOFT_FLOAT) || defined(__NO_FPRS__)
50 .long 0x11c35b01 /* evldd 14,88(3) */
51 .long 0x11e36301 /* ... */
67 .long 0x13e3e301 /* evldd 31,224(3) */
68 .long 0x11a3eb01 /* evldd 13,232(3) */
90 /* 5) put val into return reg r3 */
93 /* 6) check if return value is 0, make it 1 in that case */