1*7dd7cddfSDavid du ColombierTEXT setjmp(SB), 1, $-4 2*7dd7cddfSDavid du Colombier MOVW LR, R4 3*7dd7cddfSDavid du Colombier MOVW R1, (R3) 4*7dd7cddfSDavid du Colombier MOVW R4, 4(R3) 5*7dd7cddfSDavid du Colombier MOVW $0, R3 6*7dd7cddfSDavid du Colombier RETURN 7*7dd7cddfSDavid du Colombier 8*7dd7cddfSDavid du ColombierTEXT sigsetjmp(SB), 1, $-4 9*7dd7cddfSDavid du Colombier MOVW savemask+4(FP), R4 10*7dd7cddfSDavid du Colombier MOVW R4, 0(R3) 11*7dd7cddfSDavid du Colombier MOVW $_psigblocked(SB), R4 12*7dd7cddfSDavid du Colombier MOVW R4, 4(R3) 13*7dd7cddfSDavid du Colombier MOVW LR, R4 14*7dd7cddfSDavid du Colombier MOVW R1, 8(R3) 15*7dd7cddfSDavid du Colombier MOVW R4, 12(R3) 16*7dd7cddfSDavid du Colombier MOVW $0, R3 17*7dd7cddfSDavid du Colombier RETURN 18*7dd7cddfSDavid du Colombier 19*7dd7cddfSDavid du ColombierTEXT longjmp(SB), 1, $-4 20*7dd7cddfSDavid du Colombier MOVW R3, R4 21*7dd7cddfSDavid du Colombier MOVW r+4(FP), R3 22*7dd7cddfSDavid du Colombier CMP R3, $0 23*7dd7cddfSDavid du Colombier BNE ok /* ansi: "longjmp(0) => longjmp(1)" */ 24*7dd7cddfSDavid du Colombier MOVW $1, R3 /* bless their pointed heads */ 25*7dd7cddfSDavid du Colombierok: MOVW (R4), R1 26*7dd7cddfSDavid du Colombier MOVW 4(R4), R4 27*7dd7cddfSDavid du Colombier MOVW R4, LR 28*7dd7cddfSDavid du Colombier BR (LR) 29*7dd7cddfSDavid du Colombier 30*7dd7cddfSDavid du Colombier/* 31*7dd7cddfSDavid du Colombier * trampoline functions because the kernel smashes r1 32*7dd7cddfSDavid du Colombier * in the uregs given to notejmp 33*7dd7cddfSDavid du Colombier */ 34*7dd7cddfSDavid du ColombierTEXT __noterestore(SB), 1, $-4 35*7dd7cddfSDavid du Colombier MOVW R4, R3 36*7dd7cddfSDavid du Colombier MOVW R5, LR 37*7dd7cddfSDavid du Colombier BR (LR) 38