GDB (xrefs)
Functions | Variables
linux-ptrace.c File Reference
#include "common-defs.h"
#include "linux-ptrace.h"
#include "linux-procfs.h"
#include "linux-waitpid.h"
#include "buffer.h"
#include "gdb_wait.h"
#include "gdb_ptrace.h"
#include <sys/procfs.h>

Go to the source code of this file.

Functions

void linux_ptrace_attach_fail_reason (pid_t pid, struct buffer *buffer)
 
char * linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err)
 
static void linux_ptrace_test_ret_to_nx (void)
 
static int linux_fork_to_function (gdb_byte *child_stack, int(*function)(void *))
 
static int linux_grandchild_function (void *child_stack)
 
static int linux_child_function (void *child_stack)
 
static void linux_test_for_tracesysgood (int child_pid)
 
static void linux_test_for_tracefork (int child_pid)
 
static void linux_test_for_exitkill (int child_pid)
 
void linux_check_ptrace_features (void)
 
void linux_enable_event_reporting (pid_t pid, int options)
 
void linux_disable_event_reporting (pid_t pid)
 
static int ptrace_supports_feature (int ptrace_options)
 
int linux_supports_tracefork (void)
 
int linux_supports_traceexec (void)
 
int linux_supports_traceclone (void)
 
int linux_supports_tracevforkdone (void)
 
int linux_supports_tracesysgood (void)
 
void linux_ptrace_init_warnings (void)
 
int linux_ptrace_get_extended_event (int wstat)
 
int linux_is_extended_waitstatus (int wstat)
 
int linux_wstatus_maybe_breakpoint (int wstat)
 

Variables

static int supported_ptrace_options = -1
 

Function Documentation

◆ linux_check_ptrace_features()

void linux_check_ptrace_features ( void  )

◆ linux_child_function()

static int linux_child_function ( void *  child_stack)
static

◆ linux_disable_event_reporting()

void linux_disable_event_reporting ( pid_t  pid)

Definition at line 512 of file linux-ptrace.c.

References pid, ptrace(), PTRACE_SETOPTIONS, and PTRACE_TYPE_ARG3.

Referenced by linux_child_follow_fork().

◆ linux_enable_event_reporting()

void linux_enable_event_reporting ( pid_t  pid,
int  options 
)

◆ linux_fork_to_function()

static int linux_fork_to_function ( gdb_byte child_stack,
int(*)(void *)  function 
)
static

Definition at line 264 of file linux-ptrace.c.

References gdb_assert, perror_with_name(), and xmalloc().

Referenced by linux_check_ptrace_features(), and linux_child_function().

◆ linux_grandchild_function()

static int linux_grandchild_function ( void *  child_stack)
static

Definition at line 302 of file linux-ptrace.c.

References xfree().

Referenced by linux_child_function().

◆ linux_is_extended_waitstatus()

int linux_is_extended_waitstatus ( int  wstat)

Definition at line 608 of file linux-ptrace.c.

References linux_ptrace_get_extended_event().

Referenced by linux_nat_filter_event(), and wait_lwp().

◆ linux_ptrace_attach_fail_reason()

void linux_ptrace_attach_fail_reason ( pid_t  pid,
struct buffer buffer 
)

◆ linux_ptrace_attach_fail_reason_string()

char* linux_ptrace_attach_fail_reason_string ( ptid_t  ptid,
int  err 
)

◆ linux_ptrace_get_extended_event()

int linux_ptrace_get_extended_event ( int  wstat)

◆ linux_ptrace_init_warnings()

void linux_ptrace_init_warnings ( void  )

Definition at line 586 of file linux-ptrace.c.

References linux_ptrace_test_ret_to_nx().

Referenced by linux_init_ptrace().

◆ linux_ptrace_test_ret_to_nx()

static void linux_ptrace_test_ret_to_nx ( void  )
static

◆ linux_supports_traceclone()

int linux_supports_traceclone ( void  )

Definition at line 559 of file linux-ptrace.c.

References PTRACE_O_TRACECLONE, and ptrace_supports_feature().

◆ linux_supports_traceexec()

int linux_supports_traceexec ( void  )

Definition at line 548 of file linux-ptrace.c.

References PTRACE_O_TRACEEXEC, and ptrace_supports_feature().

◆ linux_supports_tracefork()

int linux_supports_tracefork ( void  )

◆ linux_supports_tracesysgood()

int linux_supports_tracesysgood ( void  )

Definition at line 577 of file linux-ptrace.c.

References PTRACE_O_TRACESYSGOOD, and ptrace_supports_feature().

Referenced by linux_child_set_syscall_catchpoint().

◆ linux_supports_tracevforkdone()

int linux_supports_tracevforkdone ( void  )

Definition at line 568 of file linux-ptrace.c.

References PTRACE_O_TRACEVFORKDONE, and ptrace_supports_feature().

Referenced by linux_child_follow_fork().

◆ linux_test_for_exitkill()

static void linux_test_for_exitkill ( int  child_pid)
static

◆ linux_test_for_tracefork()

static void linux_test_for_tracefork ( int  child_pid)
static

◆ linux_test_for_tracesysgood()

static void linux_test_for_tracesysgood ( int  child_pid)
static

◆ linux_wstatus_maybe_breakpoint()

int linux_wstatus_maybe_breakpoint ( int  wstat)

Definition at line 616 of file linux-ptrace.c.

References WIFSTOPPED, and WSTOPSIG.

Referenced by linux_nat_filter_event().

◆ ptrace_supports_feature()

static int ptrace_supports_feature ( int  ptrace_options)
static

Variable Documentation

◆ supported_ptrace_options

int supported_ptrace_options = -1
static