_setjmp.S (234115) | _setjmp.S (272362) |
---|---|
1/*- 2 * Copyright (c) 2002 Peter Grehan. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 12 unchanged lines hidden (view full) --- 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 */ 26/* $NetBSD: _setjmp.S,v 1.1 1997/03/29 20:55:53 thorpej Exp $ */ 27 28#include <machine/asm.h> | 1/*- 2 * Copyright (c) 2002 Peter Grehan. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 12 unchanged lines hidden (view full) --- 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 */ 26/* $NetBSD: _setjmp.S,v 1.1 1997/03/29 20:55:53 thorpej Exp $ */ 27 28#include <machine/asm.h> |
29__FBSDID("$FreeBSD: head/lib/libc/powerpc/gen/_setjmp.S 234115 2012-04-11 00:00:40Z nwhitehorn $"); | 29__FBSDID("$FreeBSD: head/lib/libc/powerpc/gen/_setjmp.S 272362 2014-10-01 15:00:21Z bapt $"); |
30 31/* 32 * C library -- _setjmp, _longjmp 33 * 34 * _longjmp(a,v) 35 * will generate a "return(v?v:1)" from the last call to 36 * _setjmp(a) 37 * by restoring registers from the stack. --- 15 unchanged lines hidden (view full) --- 53ENTRY(_setjmp) 54 mflr %r11 55 mfcr %r12 56 mr %r10,%r1 57 mr %r9,%r2 58 stmw %r9,20(%r3) 59 li %r3,0 60 blr | 30 31/* 32 * C library -- _setjmp, _longjmp 33 * 34 * _longjmp(a,v) 35 * will generate a "return(v?v:1)" from the last call to 36 * _setjmp(a) 37 * by restoring registers from the stack. --- 15 unchanged lines hidden (view full) --- 53ENTRY(_setjmp) 54 mflr %r11 55 mfcr %r12 56 mr %r10,%r1 57 mr %r9,%r2 58 stmw %r9,20(%r3) 59 li %r3,0 60 blr |
61END(_setjmp) |
|
61 62ENTRY(_longjmp) 63 lmw %r9,20(%r3) 64 mtlr %r11 65 mtcr %r12 66 mr %r1,%r10 67 or. %r3,%r4,%r4 68 bnelr 69 li %r3,1 70 blr | 62 63ENTRY(_longjmp) 64 lmw %r9,20(%r3) 65 mtlr %r11 66 mtcr %r12 67 mr %r1,%r10 68 or. %r3,%r4,%r4 69 bnelr 70 li %r3,1 71 blr |
72END(_longjmp) |
|
71 72 .section .note.GNU-stack,"",%progbits | 73 74 .section .note.GNU-stack,"",%progbits |