GDB (xrefs)
Classes | Typedefs | Enumerations | Functions | Variables
/home/stan/gdb/src/gdb/linux-tdep.c File Reference
#include "defs.h"
#include "gdbtypes.h"
#include "linux-tdep.h"
#include "auxv.h"
#include "target.h"
#include "gdbthread.h"
#include "gdbcore.h"
#include "regcache.h"
#include "regset.h"
#include "elf/common.h"
#include "elf-bfd.h"
#include "inferior.h"
#include "cli/cli-utils.h"
#include "arch-utils.h"
#include "gdb_obstack.h"
#include <ctype.h>

Go to the source code of this file.

Classes

struct  linux_gdbarch_data
struct  linux_find_memory_regions_data
struct  linux_make_mappings_data
struct  linux_corefile_thread_data

Typedefs

typedef int linux_find_memory_region_ftype (ULONGEST vaddr, ULONGEST size, ULONGEST offset, ULONGEST inode, int read, int write, int exec, int modified, const char *filename, void *data)

Enumerations

enum  {
  LINUX_SIGHUP = 1, LINUX_SIGINT = 2, LINUX_SIGQUIT = 3, LINUX_SIGILL = 4,
  LINUX_SIGTRAP = 5, LINUX_SIGABRT = 6, LINUX_SIGIOT = 6, LINUX_SIGBUS = 7,
  LINUX_SIGFPE = 8, LINUX_SIGKILL = 9, LINUX_SIGUSR1 = 10, LINUX_SIGSEGV = 11,
  LINUX_SIGUSR2 = 12, LINUX_SIGPIPE = 13, LINUX_SIGALRM = 14, LINUX_SIGTERM = 15,
  LINUX_SIGSTKFLT = 16, LINUX_SIGCHLD = 17, LINUX_SIGCONT = 18, LINUX_SIGSTOP = 19,
  LINUX_SIGTSTP = 20, LINUX_SIGTTIN = 21, LINUX_SIGTTOU = 22, LINUX_SIGURG = 23,
  LINUX_SIGXCPU = 24, LINUX_SIGXFSZ = 25, LINUX_SIGVTALRM = 26, LINUX_SIGPROF = 27,
  LINUX_SIGWINCH = 28, LINUX_SIGIO = 29, LINUX_SIGPOLL = LINUX_SIGIO, LINUX_SIGPWR = 30,
  LINUX_SIGSYS = 31, LINUX_SIGUNUSED = 31, LINUX_SIGRTMIN = 32, LINUX_SIGRTMAX = 64
}

Functions

static void * init_linux_gdbarch_data (struct gdbarch *gdbarch)
static struct linux_gdbarch_dataget_linux_gdbarch_data (struct gdbarch *gdbarch)
struct typelinux_get_siginfo_type (struct gdbarch *gdbarch)
int linux_is_uclinux (void)
static int linux_has_shared_address_space (struct gdbarch *gdbarch)
static char * linux_core_pid_to_str (struct gdbarch *gdbarch, ptid_t ptid)
static void read_mapping (const char *line, ULONGEST *addr, ULONGEST *endaddr, const char **permissions, size_t *permissions_len, ULONGEST *offset, const char **device, size_t *device_len, ULONGEST *inode, const char **filename)
static void linux_info_proc (struct gdbarch *gdbarch, char *args, enum info_proc_what what)
static void linux_core_info_proc_mappings (struct gdbarch *gdbarch, char *args)
static void linux_core_info_proc (struct gdbarch *gdbarch, char *args, enum info_proc_what what)
static int linux_find_memory_regions_full (struct gdbarch *gdbarch, linux_find_memory_region_ftype *func, void *obfd)
static int linux_find_memory_regions_thunk (ULONGEST vaddr, ULONGEST size, ULONGEST offset, ULONGEST inode, int read, int write, int exec, int modified, const char *filename, void *arg)
static int linux_find_memory_regions (struct gdbarch *gdbarch, find_memory_region_ftype func, void *obfd)
static int find_signalled_thread (struct thread_info *info, void *data)
static enum gdb_signal find_stop_signal (void)
static char * linux_spu_make_corefile_notes (bfd *obfd, char *note_data, int *note_size)
static int linux_make_mappings_callback (ULONGEST vaddr, ULONGEST size, ULONGEST offset, ULONGEST inode, int read, int write, int exec, int modified, const char *filename, void *data)
static char * linux_make_mappings_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, char *note_data, int *note_size)
static char * linux_collect_thread_registers (const struct regcache *regcache, ptid_t ptid, bfd *obfd, char *note_data, int *note_size, enum gdb_signal stop_signal)
static gdb_bytelinux_get_siginfo_data (struct gdbarch *gdbarch, LONGEST *size)
static int linux_corefile_thread_callback (struct thread_info *info, void *data)
static int linux_fill_prpsinfo (struct elf_internal_linux_prpsinfo *p)
char * linux_make_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, int *note_size, linux_collect_thread_registers_ftype collect)
static char * linux_make_corefile_notes_1 (struct gdbarch *gdbarch, bfd *obfd, int *note_size)
enum gdb_signal linux_gdb_signal_from_target (struct gdbarch *gdbarch, int signal)
int linux_gdb_signal_to_target (struct gdbarch *gdbarch, enum gdb_signal signal)
void linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
void _initialize_linux_tdep (void)

Variables

static struct gdbarch_datalinux_gdbarch_data_handle
static
linux_find_memory_region_ftype 
linux_make_mappings_callback
initialize_file_ftype _initialize_linux_tdep

Typedef Documentation

typedef int linux_find_memory_region_ftype(ULONGEST vaddr, ULONGEST size, ULONGEST offset, ULONGEST inode, int read, int write, int exec, int modified, const char *filename, void *data)

Definition at line 732 of file linux-tdep.c.


Enumeration Type Documentation

anonymous enum
Enumerator:
LINUX_SIGHUP 
LINUX_SIGINT 
LINUX_SIGQUIT 
LINUX_SIGILL 
LINUX_SIGTRAP 
LINUX_SIGABRT 
LINUX_SIGIOT 
LINUX_SIGBUS 
LINUX_SIGFPE 
LINUX_SIGKILL 
LINUX_SIGUSR1 
LINUX_SIGSEGV 
LINUX_SIGUSR2 
LINUX_SIGPIPE 
LINUX_SIGALRM 
LINUX_SIGTERM 
LINUX_SIGSTKFLT 
LINUX_SIGCHLD 
LINUX_SIGCONT 
LINUX_SIGSTOP 
LINUX_SIGTSTP 
LINUX_SIGTTIN 
LINUX_SIGTTOU 
LINUX_SIGURG 
LINUX_SIGXCPU 
LINUX_SIGXFSZ 
LINUX_SIGVTALRM 
LINUX_SIGPROF 
LINUX_SIGWINCH 
LINUX_SIGIO 
LINUX_SIGPOLL 
LINUX_SIGPWR 
LINUX_SIGSYS 
LINUX_SIGUNUSED 
LINUX_SIGRTMIN 
LINUX_SIGRTMAX 

Definition at line 63 of file linux-tdep.c.


Function Documentation

void _initialize_linux_tdep ( void  )
static int find_signalled_thread ( struct thread_info info,
void *  data 
) [static]
static enum gdb_signal find_stop_signal ( void  ) [static]
static struct linux_gdbarch_data* get_linux_gdbarch_data ( struct gdbarch gdbarch) [static, read]

Definition at line 118 of file linux-tdep.c.

References gdbarch_data().

Referenced by linux_get_siginfo_type().

static void* init_linux_gdbarch_data ( struct gdbarch gdbarch) [static]

Definition at line 112 of file linux-tdep.c.

References GDBARCH_OBSTACK_ZALLOC.

Referenced by _initialize_linux_tdep().

static char* linux_collect_thread_registers ( const struct regcache regcache,
ptid_t  ptid,
bfd *  obfd,
char *  note_data,
int note_size,
enum gdb_signal  stop_signal 
) [static]
static void linux_core_info_proc ( struct gdbarch gdbarch,
char *  args,
enum info_proc_what  what 
) [static]
static void linux_core_info_proc_mappings ( struct gdbarch gdbarch,
char *  args 
) [static]
static char* linux_core_pid_to_str ( struct gdbarch gdbarch,
ptid_t  ptid 
) [static]

Definition at line 265 of file linux-tdep.c.

References normal_pid_to_str(), and ptid_get_lwp().

Referenced by linux_init_abi().

static int linux_corefile_thread_callback ( struct thread_info info,
void *  data 
) [static]
static int linux_fill_prpsinfo ( struct elf_internal_linux_prpsinfo *  p) [static]
static int linux_find_memory_regions ( struct gdbarch gdbarch,
find_memory_region_ftype  func,
void *  obfd 
) [static]
static int linux_find_memory_regions_full ( struct gdbarch gdbarch,
linux_find_memory_region_ftype func,
void *  obfd 
) [static]
static int linux_find_memory_regions_thunk ( ULONGEST  vaddr,
ULONGEST  size,
ULONGEST  offset,
ULONGEST  inode,
int  read,
int  write,
int  exec,
int  modified,
const char *  filename,
void *  arg 
) [static]
enum gdb_signal linux_gdb_signal_from_target ( struct gdbarch gdbarch,
int  signal 
)
int linux_gdb_signal_to_target ( struct gdbarch gdbarch,
enum gdb_signal  signal 
)
static gdb_byte* linux_get_siginfo_data ( struct gdbarch gdbarch,
LONGEST size 
) [static]
struct type* linux_get_siginfo_type ( struct gdbarch gdbarch) [read]
static int linux_has_shared_address_space ( struct gdbarch gdbarch) [static]

Definition at line 257 of file linux-tdep.c.

References linux_is_uclinux().

Referenced by linux_init_abi().

static void linux_info_proc ( struct gdbarch gdbarch,
char *  args,
enum info_proc_what  what 
) [static]
void linux_init_abi ( struct gdbarch_info  info,
struct gdbarch gdbarch 
)
int linux_is_uclinux ( void  )
char* linux_make_corefile_notes ( struct gdbarch gdbarch,
bfd *  obfd,
int note_size,
linux_collect_thread_registers_ftype  collect 
)
static char* linux_make_corefile_notes_1 ( struct gdbarch gdbarch,
bfd *  obfd,
int note_size 
) [static]
static int linux_make_mappings_callback ( ULONGEST  vaddr,
ULONGEST  size,
ULONGEST  offset,
ULONGEST  inode,
int  read,
int  write,
int  exec,
int  modified,
const char *  filename,
void *  data 
) [static]
static char* linux_make_mappings_corefile_notes ( struct gdbarch gdbarch,
bfd *  obfd,
char *  note_data,
int note_size 
) [static]
static char* linux_spu_make_corefile_notes ( bfd *  obfd,
char *  note_data,
int note_size 
) [static]
static void read_mapping ( const char *  line,
ULONGEST addr,
ULONGEST endaddr,
const char **  permissions,
size_t *  permissions_len,
ULONGEST offset,
const char **  device,
size_t *  device_len,
ULONGEST inode,
const char **  filename 
) [static]

Definition at line 281 of file linux-tdep.c.

References line, p, skip_spaces_const(), and strtoulst().

Referenced by linux_find_memory_regions_full(), and linux_info_proc().


Variable Documentation

Definition at line 104 of file linux-tdep.c.

Definition at line 994 of file linux-tdep.c.

Referenced by linux_make_mappings_corefile_notes().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines