aboutsummaryrefslogtreecommitdiffstats
path: root/arch/tile/kernel/compat.c
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2010-10-14 16:48:00 -0400
committerChris Metcalf <cmetcalf@tilera.com>2010-10-15 15:39:44 -0400
commitce7f2a39675ea5e8e27b3f3bb03e5041c7d10412 (patch)
tree5552e14b279cac5acc56c2b9cd3114d8e612a078 /arch/tile/kernel/compat.c
parentc569cac8b69397d8bc80f95bc6edf13ed902e28b (diff)
arch/tile: make ptrace() work properly for TILE-Gx COMPAT mode
Previously, we tried to pass 64-bit arguments through the "COMPAT" mode 32-bit syscall API, which turned out not to work well. Now we just use straight 32-bit arguments in COMPAT mode, thus requiring individual registers to be read/written with two syscalls. Of course this is uncommon, since usually all the registers are read or written at once. The restructuring applies to all the tile platforms, but is plausibly better than the original code in any case. Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Diffstat (limited to 'arch/tile/kernel/compat.c')
-rw-r--r--arch/tile/kernel/compat.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/tile/kernel/compat.c b/arch/tile/kernel/compat.c
index 5f24e54bf3c5..77739cdd9462 100644
--- a/arch/tile/kernel/compat.c
+++ b/arch/tile/kernel/compat.c
@@ -154,8 +154,8 @@ long tile_compat_sys_msgrcv(int msqid,
154#define compat_sys_fstat64 sys_newfstat 154#define compat_sys_fstat64 sys_newfstat
155#define compat_sys_fstatat64 sys_newfstatat 155#define compat_sys_fstatat64 sys_newfstatat
156 156
157/* Pass full 64-bit values through ptrace. */ 157/* The native sys_ptrace dynamically handles compat binaries. */
158#define compat_sys_ptrace tile_compat_sys_ptrace 158#define compat_sys_ptrace sys_ptrace
159 159
160/* Call the trampolines to manage pt_regs where necessary. */ 160/* Call the trampolines to manage pt_regs where necessary. */
161#define compat_sys_execve _compat_sys_execve 161#define compat_sys_execve _compat_sys_execve