diff options
author | Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> | 2005-05-05 19:15:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-05 19:36:32 -0400 |
commit | f7fe8781749bf2de2ca03147a1691244a7d93ec7 (patch) | |
tree | ed4288c71b5208f9207fe852dd3351446261adb6 /arch/um/kernel/ptrace.c | |
parent | 1f8d419e291f7f7f7f3ffd4f0ba00834621690c8 (diff) |
[PATCH] uml: obvious compile fixes for x86-64 Subarch and x86 regression fixes
This patch does some totally trivial compilation fixes. It also restores the
debugregs manipulation, which was commented out simply because it doesn't
compile on x86_64 (we haven't yet implemented there debugregs handling).
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/um/kernel/ptrace.c')
-rw-r--r-- | arch/um/kernel/ptrace.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/um/kernel/ptrace.c b/arch/um/kernel/ptrace.c index 959b2d2490df..ffc599bd85c3 100644 --- a/arch/um/kernel/ptrace.c +++ b/arch/um/kernel/ptrace.c | |||
@@ -98,12 +98,14 @@ long sys_ptrace(long request, long pid, long addr, long data) | |||
98 | if(addr < MAX_REG_OFFSET){ | 98 | if(addr < MAX_REG_OFFSET){ |
99 | tmp = getreg(child, addr); | 99 | tmp = getreg(child, addr); |
100 | } | 100 | } |
101 | #if defined(CONFIG_UML_X86) && !defined(CONFIG_64BIT) | ||
101 | else if((addr >= offsetof(struct user, u_debugreg[0])) && | 102 | else if((addr >= offsetof(struct user, u_debugreg[0])) && |
102 | (addr <= offsetof(struct user, u_debugreg[7]))){ | 103 | (addr <= offsetof(struct user, u_debugreg[7]))){ |
103 | addr -= offsetof(struct user, u_debugreg[0]); | 104 | addr -= offsetof(struct user, u_debugreg[0]); |
104 | addr = addr >> 2; | 105 | addr = addr >> 2; |
105 | tmp = child->thread.arch.debugregs[addr]; | 106 | tmp = child->thread.arch.debugregs[addr]; |
106 | } | 107 | } |
108 | #endif | ||
107 | ret = put_user(tmp, (unsigned long __user *) data); | 109 | ret = put_user(tmp, (unsigned long __user *) data); |
108 | break; | 110 | break; |
109 | } | 111 | } |
@@ -127,7 +129,7 @@ long sys_ptrace(long request, long pid, long addr, long data) | |||
127 | ret = putreg(child, addr, data); | 129 | ret = putreg(child, addr, data); |
128 | break; | 130 | break; |
129 | } | 131 | } |
130 | #if 0 /* XXX x86_64 */ | 132 | #if defined(CONFIG_UML_X86) && !defined(CONFIG_64BIT) |
131 | else if((addr >= offsetof(struct user, u_debugreg[0])) && | 133 | else if((addr >= offsetof(struct user, u_debugreg[0])) && |
132 | (addr <= offsetof(struct user, u_debugreg[7]))){ | 134 | (addr <= offsetof(struct user, u_debugreg[7]))){ |
133 | addr -= offsetof(struct user, u_debugreg[0]); | 135 | addr -= offsetof(struct user, u_debugreg[0]); |