From 807afb7d69ef649a5d51498192339291cd977873 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 14 Mar 2019 21:34:53 +0100 Subject: [PATCH] ARM: Implement setjmp/longjmp, part 2. Follow-up to 102ccc27f6e619ca7207b6360ac918342711613a. * include/setjmp.h (__jmp_buf): Add case for ARM. --- include/setjmp.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/setjmp.h b/include/setjmp.h index 512ea111..fe485a86 100644 --- a/include/setjmp.h +++ b/include/setjmp.h @@ -25,12 +25,28 @@ #include_next #else // ! SYSTEM_LIBC +#if __arm__ +typedef struct +{ + unsigned long __r13; /* sp */ + unsigned long __r14; /* lr */ + unsigned long __r4; /* v1 */ + unsigned long __r5; /* v2 */ + unsigned long __r6; /* v3 */ + unsigned long __r7; /* v4 */ + unsigned long __r8; /* v5 */ + unsigned long __r9; /* v6 */ + unsigned long __r10; /* sl */ + unsigned long __r11; /* fp */ +} __jmp_buf; +#else typedef struct { long __bp; long __pc; long __sp; } __jmp_buf; +#endif typedef __jmp_buf jmp_buf[1]; #if __MESC__