Deleted Added
full compact
39c39
< #ifdef __ARM_EABI__
---
> #if defined(__ARM_EABI__) && !defined(_STANDALONE)
46c46
< __FBSDID("$FreeBSD: head/lib/libc/arm/gen/_setjmp.S 251392 2013-06-04 19:47:26Z andrew $");
---
> __FBSDID("$FreeBSD: head/lib/libc/arm/gen/_setjmp.S 251514 2013-06-07 22:01:06Z andrew $");
63a64,83
> #if defined(__ARM_EABI__) && !defined(_STANDALONE)
> ldr r2, .Lfpu_present
> #ifdef PIC
> GOT_INIT(r3, .L_setjmp_got, .L_setjmp_gotinit)
> ldr r2, [r2, r3]
> #else
> ldr r2, [r2]
> #endif
> teq r2, #0 /* do we have a FPU? */
> beq 1f /* no, don't save VFP registers */
>
> orr r1, r1, #(_JB_MAGIC__SETJMP ^ _JB_MAGIC__SETJMP_VFP)
> /* change magic to VFP magic */
> add r2, r0, #(_JB_REG_D8 * 4)
> vstmia r2, {d8-d15}
> vmrs r2, fpscr
> str r2, [r0, #(_JB_REG_FPSCR * 4)]
> 1:
> #endif /* __ARM_EABI__ */
>
74a95,99
> #if defined(__ARM_EABI__) && !defined(_STANDALONE)
> GOT_INITSYM(.L_setjmp_got, .L_setjmp_gotinit)
> .Lfpu_present:
> .word PIC_SYM(_libc_arm_fpu_present, GOTOFF)
> #endif /* __ARM_EABI__ */
78a104,105
> bic r3, r2, #(_JB_MAGIC__SETJMP ^ _JB_MAGIC__SETJMP_VFP)
> /* ignore VFP-ness of magic */
80c107
< teq ip, r2 /* magic correct? */
---
> teq ip, r3 /* magic correct? */
82a110,119
> #if defined(__ARM_EABI__) && !defined(_STANDALONE)
> teq r3, r2 /* did magic change? */
> beq 1f /* no, don't restore VFP */
> add ip, r0, #(_JB_REG_D8 * 4)
> vldmia ip, {d8-d15}
> ldr ip, [r0, #(_JB_REG_FPSCR * 4)]
> vmsr fpscr, ip
> 1:
> #endif /* __ARM_EABI__ */
>