Deleted Added
full compact
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)