13c06be399
This patch adds an implementation of setjmp and longjmp to UML, allowing access to the inside of a jmpbuf without needing the access macros formerly provided by libc. The implementation is stolen from klibc. I copy the relevant files into arch/um. I have another patch which avoids the copying, but requires klibc be in the tree. setjmp and longjmp users required some tweaking. Includes of <setjmp.h> were removed and includes of the UML longjmp.h were added where necessary. There are also replacements of siglongjmp with UML_LONGJMP which I somehow missed earlier. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 lines
370 B
C
22 lines
370 B
C
/*
|
|
* arch/x86_64/include/klibc/archsetjmp.h
|
|
*/
|
|
|
|
#ifndef _KLIBC_ARCHSETJMP_H
|
|
#define _KLIBC_ARCHSETJMP_H
|
|
|
|
struct __jmp_buf {
|
|
unsigned long __rbx;
|
|
unsigned long __rsp;
|
|
unsigned long __rbp;
|
|
unsigned long __r12;
|
|
unsigned long __r13;
|
|
unsigned long __r14;
|
|
unsigned long __r15;
|
|
unsigned long __rip;
|
|
};
|
|
|
|
typedef struct __jmp_buf jmp_buf[1];
|
|
|
|
#endif /* _SETJMP_H */
|