_setjmp.S revision 256281
1/* $NetBSD: _setjmp.S,v 1.1 1997/03/29 20:55:53 thorpej Exp $ */ 2 3#include <machine/asm.h> 4 5#if (defined(LIBC_SCCS) || defined(LIBC_RCS)) && !defined(lint) 6 .text 7 .asciz "$FreeBSD: stable/10/lib/libstand/powerpc/_setjmp.S 68544 2000-11-10 06:10:28Z benno $" 8#endif 9 10/* 11 * C library -- _setjmp, _longjmp 12 * 13 * _longjmp(a,v) 14 * will generate a "return(v?v:1)" from the last call to 15 * _setjmp(a) 16 * by restoring registers from the stack. 17 * The previous signal state is NOT restored. 18 */ 19 20ENTRY(_setjmp) 21 mflr 11 22 mfcr 12 23 mr 10,1 24 mr 9,2 25 stmw 9,8(3) 26 li 3,0 27 blr 28 29ENTRY(_longjmp) 30 lmw 9,8(3) 31 mtlr 11 32 mtcr 12 33 mr 2,9 34 mr 1,10 35 mr 3,4 36 blr 37