• Roland McGrath's avatar
    x86 ptrace: unify syscall tracing · d4d67150
    Roland McGrath authored
    This unifies and cleans up the syscall tracing code on i386 and x86_64.
    
    Using a single function for entry and exit tracing on 32-bit made the
    do_syscall_trace() into some terrible spaghetti.  The logic is clear and
    simple using separate syscall_trace_enter() and syscall_trace_leave()
    functions as on 64-bit.
    
    The unification adds PTRACE_SYSEMU and PTRACE_SYSEMU_SINGLESTEP support
    on x86_64, for 32-bit ptrace() callers and for 64-bit ptrace() callers
    tracing either 32-bit or 64-bit tasks.  It behaves just like 32-bit.
    
    Changing syscall_trace_enter() to return the syscall number shortens
    all the assembly paths, while adding the SYSEMU feature in a simple way.
    Signed-off-by: default avatarRoland McGrath <roland@redhat.com>
    d4d67150
calling.h 3.11 KB