Re: [PATCH v2 06/19] OpenRISC: PTrace

From: Arnd Bergmann
Date: Tue Jul 05 2011 - 12:45:46 EST


On Tuesday 05 July 2011, Jonas Bonn wrote:
> I've been looking a bit at the ptrace stuff the last couple of days.
> One question that occurred to me was: is it mandatory to export the
> "struct pt_regs" info in ptrace.h to userspace?

I don't know, it certainly has been the case traditionally, but as
far as I can tell, this was mainly used by ancient gdb ports,
while newer versions just hardcode the offsets for PTRACE_PEEKUSR.

> I'm not sure I like the layout of our struct pt_regs. It would be
> better to lay out the registers in a way that mirrors the order that
> they are saved during exception/syscall entry in order to make better
> use of the cache.
>
> Since the registers can be exported via a regset to userspace anyway
> (which doesn't necessarily need to look like pt_regs), I don't see that
> userspace really needs how we lay out the registers on the stack. By
> not exporting pt_regs, I am free to change the layout... if it's
> exported, it becomes ABI.

Yes. I think you can just change your ptrace code to not export
pt_regs through PEEKUSR but only through elf_gregset_t, which
you can define independently.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/