setjmp.S (256281) | setjmp.S (271337) |
---|---|
1/* $NetBSD: setjmp.S,v 1.14 2013/04/19 13:45:45 matt Exp $ */ 2 3/* 4 * Copyright (c) 1997 Mark Brinicombe 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 29 unchanged lines hidden (view full) --- 38 39#ifdef __ARM_EABI__ 40 .fpu vfp 41#endif 42 43#include <machine/asm.h> 44#include <machine/setjmp.h> 45 | 1/* $NetBSD: setjmp.S,v 1.14 2013/04/19 13:45:45 matt Exp $ */ 2 3/* 4 * Copyright (c) 1997 Mark Brinicombe 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 29 unchanged lines hidden (view full) --- 38 39#ifdef __ARM_EABI__ 40 .fpu vfp 41#endif 42 43#include <machine/asm.h> 44#include <machine/setjmp.h> 45 |
46__FBSDID("$FreeBSD: stable/10/lib/libc/arm/gen/setjmp.S 251514 2013-06-07 22:01:06Z andrew $"); | 46__FBSDID("$FreeBSD: stable/10/lib/libc/arm/gen/setjmp.S 271337 2014-09-09 22:24:01Z ian $"); |
47 48/* 49 * C library -- setjmp, longjmp 50 * 51 * longjmp(a,v) 52 * will generate a "return(v)" from the last call to 53 * setjmp(a) 54 * by restoring registers from the stack. --- 41 unchanged lines hidden (view full) --- 96 97.Lsetjmp_magic: 98 .word _JB_MAGIC_SETJMP 99#ifdef __ARM_EABI__ 100 GOT_INITSYM(.Lsetjmp_got, .Lsetjmp_gotinit) 101.Lfpu_present: 102 .word PIC_SYM(_libc_arm_fpu_present, GOTOFF) 103#endif /* __ARM_EABI__ */ | 47 48/* 49 * C library -- setjmp, longjmp 50 * 51 * longjmp(a,v) 52 * will generate a "return(v)" from the last call to 53 * setjmp(a) 54 * by restoring registers from the stack. --- 41 unchanged lines hidden (view full) --- 96 97.Lsetjmp_magic: 98 .word _JB_MAGIC_SETJMP 99#ifdef __ARM_EABI__ 100 GOT_INITSYM(.Lsetjmp_got, .Lsetjmp_gotinit) 101.Lfpu_present: 102 .word PIC_SYM(_libc_arm_fpu_present, GOTOFF) 103#endif /* __ARM_EABI__ */ |
104END(setjmp) |
|
104 | 105 |
105 | |
106.weak _C_LABEL(longjmp) 107.set _C_LABEL(longjmp), _C_LABEL(__longjmp) 108ENTRY(__longjmp) 109 ldr r2, [r0] 110 ldr ip, .Lsetjmp_magic 111 bic r3, r2, #(_JB_MAGIC_SETJMP ^ _JB_MAGIC_SETJMP_VFP) 112 teq r3, ip 113 bne .Lbotch --- 31 unchanged lines hidden (view full) --- 145 moveq r0, #0x00000001 146 RET 147 148 /* validation failed, die die die. */ 149.Lbotch: 150 bl PIC_SYM(_C_LABEL(longjmperror), PLT) 151 bl PIC_SYM(_C_LABEL(abort), PLT) 152 b . - 8 /* Cannot get here */ | 106.weak _C_LABEL(longjmp) 107.set _C_LABEL(longjmp), _C_LABEL(__longjmp) 108ENTRY(__longjmp) 109 ldr r2, [r0] 110 ldr ip, .Lsetjmp_magic 111 bic r3, r2, #(_JB_MAGIC_SETJMP ^ _JB_MAGIC_SETJMP_VFP) 112 teq r3, ip 113 bne .Lbotch --- 31 unchanged lines hidden (view full) --- 145 moveq r0, #0x00000001 146 RET 147 148 /* validation failed, die die die. */ 149.Lbotch: 150 bl PIC_SYM(_C_LABEL(longjmperror), PLT) 151 bl PIC_SYM(_C_LABEL(abort), PLT) 152 b . - 8 /* Cannot get here */ |
153END(__longjmp) |
|