1219b2ee8SDavid du ColombierTEXT longjmp(SB), $0 2219b2ee8SDavid du Colombier MOVL r+4(FP), AX 3219b2ee8SDavid du Colombier CMPL AX, $0 4219b2ee8SDavid du Colombier JNE ok /* ansi: "longjmp(0) => longjmp(1)" */ 5219b2ee8SDavid du Colombier MOVL $1, AX /* bless their pointed heads */ 6219b2ee8SDavid du Colombierok: MOVL l+0(FP), BX 7219b2ee8SDavid du Colombier MOVL 0(BX), SP /* restore sp */ 8219b2ee8SDavid du Colombier MOVL 4(BX), BX /* put return pc on the stack */ 9219b2ee8SDavid du Colombier MOVL BX, 0(SP) 10219b2ee8SDavid du Colombier RET 11219b2ee8SDavid du Colombier 12219b2ee8SDavid du ColombierTEXT setjmp(SB), $0 13219b2ee8SDavid du Colombier MOVL l+0(FP), AX 14219b2ee8SDavid du Colombier MOVL SP, 0(AX) /* store sp */ 15219b2ee8SDavid du Colombier MOVL 0(SP), BX /* store return pc */ 16219b2ee8SDavid du Colombier MOVL BX, 4(AX) 17219b2ee8SDavid du Colombier MOVL $0, AX /* return 0 */ 18219b2ee8SDavid du Colombier RET 19*7dd7cddfSDavid du Colombier 20*7dd7cddfSDavid du ColombierTEXT sigsetjmp(SB), $0 21*7dd7cddfSDavid du Colombier MOVL buf+0(FP), AX 22*7dd7cddfSDavid du Colombier MOVL savemask+4(FP),BX 23*7dd7cddfSDavid du Colombier MOVL BX,0(AX) 24*7dd7cddfSDavid du Colombier MOVL $_psigblocked(SB),4(AX) 25*7dd7cddfSDavid du Colombier MOVL SP, 8(AX) /* store sp */ 26*7dd7cddfSDavid du Colombier MOVL 0(SP), BX /* store return pc */ 27*7dd7cddfSDavid du Colombier MOVL BX, 12(AX) 28*7dd7cddfSDavid du Colombier MOVL $0, AX /* return 0 */ 29*7dd7cddfSDavid du Colombier RET 30