mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-23 03:23:47 +00:00
95e7cafa81
The jmp_buf type is required by the C99 specification. Defining it for x86 fixes building the longjmp unit test. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
42 lines
726 B
C
42 lines
726 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Written by H. Peter Anvin <hpa@zytor.com>
|
|
* Brought in from Linux v4.4 and modified for U-Boot
|
|
* From Linux arch/um/sys-i386/setjmp.S
|
|
*/
|
|
|
|
#ifndef __setjmp_h
|
|
#define __setjmp_h
|
|
|
|
#ifdef CONFIG_X86_64
|
|
|
|
struct jmp_buf_data {
|
|
unsigned long __rip;
|
|
unsigned long __rsp;
|
|
unsigned long __rbp;
|
|
unsigned long __rbx;
|
|
unsigned long __r12;
|
|
unsigned long __r13;
|
|
unsigned long __r14;
|
|
unsigned long __r15;
|
|
};
|
|
|
|
#else
|
|
|
|
struct jmp_buf_data {
|
|
unsigned int __ebx;
|
|
unsigned int __esp;
|
|
unsigned int __ebp;
|
|
unsigned int __esi;
|
|
unsigned int __edi;
|
|
unsigned int __eip;
|
|
};
|
|
|
|
#endif
|
|
|
|
typedef struct jmp_buf_data jmp_buf[1];
|
|
|
|
int setjmp(jmp_buf env);
|
|
void longjmp(jmp_buf env, int val);
|
|
|
|
#endif
|