diff options
author | Paul Mundt <lethal@linux-sh.org> | 2008-05-19 13:40:12 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-07-28 18:10:28 +0900 |
commit | 3bc24a1a5441ef621daf737ec93b0a10e8999d59 (patch) | |
tree | 09e3e2e8eda617de72f643aa22ba86490b16cd17 /arch/sh/kernel/ptrace_32.c | |
parent | 9b14ec35f03d89c88cba225add8b6eca15203964 (diff) | |
download | linux-3bc24a1a5441ef621daf737ec93b0a10e8999d59.tar.bz2 |
sh: Initial ELF FDPIC support.
This adds initial support for ELF FDPIC on MMU-less SH, as per version
0.2 of the ABI definition at:
http://www.codesourcery.com/public/docs/sh-fdpic/sh-fdpic-abi.txt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/ptrace_32.c')
-rw-r--r-- | arch/sh/kernel/ptrace_32.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/sh/kernel/ptrace_32.c b/arch/sh/kernel/ptrace_32.c index fddb547f3c2b..2bc72def5cf8 100644 --- a/arch/sh/kernel/ptrace_32.c +++ b/arch/sh/kernel/ptrace_32.c @@ -241,6 +241,29 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) break; } #endif +#ifdef CONFIG_BINFMT_ELF_FDPIC + case PTRACE_GETFDPIC: { + unsigned long tmp = 0; + + switch (addr) { + case PTRACE_GETFDPIC_EXEC: + tmp = child->mm->context.exec_fdpic_loadmap; + break; + case PTRACE_GETFDPIC_INTERP: + tmp = child->mm->context.interp_fdpic_loadmap; + break; + default: + break; + } + + ret = 0; + if (put_user(tmp, (unsigned long *) data)) { + ret = -EFAULT; + break; + } + break; + } +#endif default: ret = ptrace_request(child, request, addr, data); break; |