/*
- * Copyright (c) 1999-2006 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 1999-2018 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
#include <architecture/arm/asm_help.h>
#include "_setjmp.h"
#include <arm/arch.h>
+#include <os/tsd.h>
/* int _longjmp(jmp_buf env, int val); */
ENTRY_POINT(__longjmp)
- ldmia r0!, { r4-r8, r10-r11, sp, lr }
+ movs r12, r1
+ ldmia r0!, { r1-r6, r8, r10-r11 }
vldmia r0, { d8-d15 }
- movs r0, r1
+ movs r0, r12
moveq r0, #1
+ _OS_PTR_MUNGE_TOKEN(r12, r12)
+ _OS_PTR_UNMUNGE(r7, r1, r12) // fp
+ _OS_PTR_UNMUNGE(lr, r2, r12)
+ _OS_PTR_UNMUNGE(sp, r3, r12)
bx lr