]> granicus.if.org Git - strace/commit
Add tilegx support to strace
authorChris Metcalf <cmetcalf@tilera.com>
Tue, 5 Feb 2013 16:48:33 +0000 (17:48 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Tue, 5 Feb 2013 16:48:33 +0000 (17:48 +0100)
commit0b99a8ac3bf6314bc92ab528b3849ab3faf7bf4c
tree5776b0ee3153cac54261e18d7ac5b4e3f2fab6ba
parent4645582edbbc6c3605904634de7bcb9b0b4f0ef2
Add tilegx support to strace

tilegx support has been in the kernel since 3.0.
In addition, fix some issues with the tilepro support already
present in strace, primarily the decision to use the
<asm/unistd.h> numbering space for system calls.

* defs.h [TILE]: Include <asm/ptrace.h> and provide an extern
struct pt_regs tile_regs for efficiency.  Provide compat 32-bit
personality via SUPPORTED_PERSONALITIES, PERSONALITY0_WORDSIZE,
PERSONALITY1_WORDSIZE, and DEFAULT_PERSONALITY.
* linux/tile/errnoent1.h: New file, includes linux/errnoent.h.
* linux/tile/ioctlent1.h: New file, includes linux/ioctlent.h.
* linux/tile/signalent1.h: New file, includes linux/signalent.h.
* linux/tile/syscallent.h: Update with new asm-generic syscalls.
The version previously committed was the from the first tile patch
to LKML, which subsequently was changed to use <asm-generic/unistd.h>.
* linux/tile/syscallent1.h: Copy from linux/tile/syscallent.h.
* mem.c (addtileflags) [TILE]: use %ld properly for a "long" variable.
* process.c [TILE]: Choose clone arguments correctly and properly
suppress all "struct user" related offsets in user_struct_offsets.
* signal.c [TILE]: Use tile_regs not upeek.
* syscall.c (update_personality) [TILE]: Print mode.
(PT_FLAGS_COMPAT) [TILE]: Provide if not in system headers.
(tile_regs) [TILE]: Define 'struct pt_regs' variable to hold state.
(get_regs) [TILE]: use PTRACE_GETREGS to set tile_regs rather than using upeek.
(get_scno) [TILE]: Set personality.
(get_syscall_args) [TILE]: Use tile_regs.
(get_syscall_result) [TILE]: Update tile_regs.
(get_error) [TILE]: Use tile_regs.
(printcall) [TILE]: Print pc.
(arg0_offset, arg1_offset, restore_arg0, restore_arg1) [TILE]:
Properly handle tile call semantics and support tilegx.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
defs.h
linux/tile/errnoent1.h [new file with mode: 0644]
linux/tile/ioctlent1.h [new file with mode: 0644]
linux/tile/signalent1.h [new file with mode: 0644]
linux/tile/syscallent.h
linux/tile/syscallent1.h [new file with mode: 0644]
mem.c
process.c
signal.c
syscall.c
util.c