OSDN Git Service

[PATCH] uml: Use klibc setjmp/longjmp
authorJeff Dike <jdike@addtoit.com>
Tue, 26 Sep 2006 06:32:59 +0000 (23:32 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 26 Sep 2006 15:49:05 +0000 (08:49 -0700)
commit13c06be399902c9ebda08e092edb1614bb4a3761
treec67134cfb7efd23ab7017fde32657fa3a7e58154
parentc5c6ba4e08ab9c9e390a0f3a7d9a5c332f5cc6ef
[PATCH] uml: Use klibc setjmp/longjmp

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>
14 files changed:
arch/um/include/longjmp.h
arch/um/include/sysdep-i386/archsetjmp.h [new file with mode: 0644]
arch/um/include/sysdep-x86_64/archsetjmp.h [new file with mode: 0644]
arch/um/os-Linux/process.c
arch/um/os-Linux/skas/process.c
arch/um/os-Linux/sys-i386/registers.c
arch/um/os-Linux/sys-x86_64/registers.c
arch/um/os-Linux/trap.c
arch/um/os-Linux/uaccess.c
arch/um/os-Linux/util.c
arch/um/sys-i386/Makefile
arch/um/sys-i386/setjmp.S [new file with mode: 0644]
arch/um/sys-x86_64/Makefile
arch/um/sys-x86_64/setjmp.S [new file with mode: 0644]