diff options
author | Jeff Dike <jdike@addtoit.com> | 2007-10-16 04:27:14 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-16 12:43:07 -0400 |
commit | 189872f968def833727b6bfef83ebd7440c538e6 (patch) | |
tree | d660a930b2a55875397985a7d465c303ad2549de | |
parent | 84b3db04ca15a90273745e391462faf658b1e825 (diff) |
uml: don't use glibc asm/user.h
Stop including asm/user.h from libc - it seems to be disappearing from
distros. It's replaced with sys/user.h which defines user_fpregs_struct and
user_fpxregs_struct instead of user_i387_struct and struct user_fxsr_struct on
i386.
As a bonus, on x86_64, I get to dump some stupid typedefs which were needed in
order to get asm/user.h to compile.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/um/sys-i386/user-offsets.c | 6 | ||||
-rw-r--r-- | arch/um/sys-x86_64/user-offsets.c | 9 |
2 files changed, 4 insertions, 11 deletions
diff --git a/arch/um/sys-i386/user-offsets.c b/arch/um/sys-i386/user-offsets.c index 29118cf5ff25..514241526a1b 100644 --- a/arch/um/sys-i386/user-offsets.c +++ b/arch/um/sys-i386/user-offsets.c | |||
@@ -2,9 +2,9 @@ | |||
2 | #include <stddef.h> | 2 | #include <stddef.h> |
3 | #include <signal.h> | 3 | #include <signal.h> |
4 | #include <sys/poll.h> | 4 | #include <sys/poll.h> |
5 | #include <sys/user.h> | ||
5 | #include <sys/mman.h> | 6 | #include <sys/mman.h> |
6 | #include <asm/ptrace.h> | 7 | #include <asm/ptrace.h> |
7 | #include <asm/user.h> | ||
8 | 8 | ||
9 | #define DEFINE(sym, val) \ | 9 | #define DEFINE(sym, val) \ |
10 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) | 10 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) |
@@ -48,8 +48,8 @@ void foo(void) | |||
48 | OFFSET(HOST_SC_FP_ST, _fpstate, _st); | 48 | OFFSET(HOST_SC_FP_ST, _fpstate, _st); |
49 | OFFSET(HOST_SC_FXSR_ENV, _fpstate, _fxsr_env); | 49 | OFFSET(HOST_SC_FXSR_ENV, _fpstate, _fxsr_env); |
50 | 50 | ||
51 | DEFINE_LONGS(HOST_FP_SIZE, sizeof(struct user_i387_struct)); | 51 | DEFINE_LONGS(HOST_FP_SIZE, sizeof(struct user_fpregs_struct)); |
52 | DEFINE_LONGS(HOST_XFP_SIZE, sizeof(struct user_fxsr_struct)); | 52 | DEFINE_LONGS(HOST_XFP_SIZE, sizeof(struct user_fpxregs_struct)); |
53 | 53 | ||
54 | DEFINE(HOST_IP, EIP); | 54 | DEFINE(HOST_IP, EIP); |
55 | DEFINE(HOST_SP, UESP); | 55 | DEFINE(HOST_SP, UESP); |
diff --git a/arch/um/sys-x86_64/user-offsets.c b/arch/um/sys-x86_64/user-offsets.c index 0d5fd764c21f..f1ef2a8dfbc6 100644 --- a/arch/um/sys-x86_64/user-offsets.c +++ b/arch/um/sys-x86_64/user-offsets.c | |||
@@ -3,17 +3,10 @@ | |||
3 | #include <signal.h> | 3 | #include <signal.h> |
4 | #include <sys/poll.h> | 4 | #include <sys/poll.h> |
5 | #include <sys/mman.h> | 5 | #include <sys/mman.h> |
6 | #include <sys/user.h> | ||
6 | #define __FRAME_OFFSETS | 7 | #define __FRAME_OFFSETS |
7 | #include <asm/ptrace.h> | 8 | #include <asm/ptrace.h> |
8 | #include <asm/types.h> | 9 | #include <asm/types.h> |
9 | /* For some reason, x86_64 defines u64 and u32 only in <pci/types.h>, which I | ||
10 | * refuse to include here, even though they're used throughout the headers. | ||
11 | * These are used in asm/user.h, and that include can't be avoided because of | ||
12 | * the sizeof(struct user_regs_struct) below. | ||
13 | */ | ||
14 | typedef __u64 u64; | ||
15 | typedef __u32 u32; | ||
16 | #include <asm/user.h> | ||
17 | 10 | ||
18 | #define DEFINE(sym, val) \ | 11 | #define DEFINE(sym, val) \ |
19 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) | 12 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) |