GDBserver
|
#include "server.h"
#include "target.h"
#include "lynx-low.h"
#include <limits.h>
#include <sys/ptrace.h>
#include <sys/piddef.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include "gdb_wait.h"
#include <signal.h>
#include "filestuff.h"
Go to the source code of this file.
Classes | |
struct | process_info_private |
Macros | |
#define | CASE(X) case X: return #X |
Functions | |
static void | lynx_debug (char *string,...) |
static ptid_t | lynx_ptid_build (int pid, long tid) |
static int | lynx_ptid_get_pid (ptid_t ptid) |
static long | lynx_ptid_get_tid (ptid_t ptid) |
static int | lynx_ptrace_pid_from_ptid (ptid_t ptid) |
static char * | ptrace_request_to_str (int request) |
static int | lynx_ptrace (int request, ptid_t ptid, int addr, int data, int addr2) |
static struct process_info * | lynx_add_process (int pid, int attached) |
static int | lynx_create_inferior (char *program, char **allargs) |
static void | lynx_add_threads_after_attach (int pid) |
static int | lynx_attach (unsigned long pid) |
static void | lynx_resume (struct thread_resume *resume_info, size_t n) |
static void | lynx_continue (ptid_t ptid) |
static int | lynx_waitpid (int pid, int *stat_loc) |
static ptid_t | lynx_wait_1 (ptid_t ptid, struct target_waitstatus *status, int options) |
static ptid_t | lynx_wait (ptid_t ptid, struct target_waitstatus *status, int options) |
static int | lynx_kill (int pid) |
static int | lynx_detach (int pid) |
static void | lynx_mourn (struct process_info *proc) |
static void | lynx_join (int pid) |
static int | lynx_thread_alive (ptid_t ptid) |
static void | lynx_fetch_registers (struct regcache *regcache, int regno) |
static void | lynx_store_registers (struct regcache *regcache, int regno) |
static int | lynx_read_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len) |
static int | lynx_write_memory (CORE_ADDR memaddr, const unsigned char *myaddr, int len) |
static void | lynx_request_interrupt (void) |
void | initialize_low (void) |
Variables | |
int | using_threads = 1 |
const struct target_desc * | lynx_tdesc |
static struct target_ops | lynx_target_ops |
#define CASE | ( | X | ) | case X: return #X |
Referenced by ptrace_request_to_str().
void initialize_low | ( | void | ) |
Definition at line 772 of file lynx-low.c.
References linux_target_ops::arch_setup, set_target_ops(), and the_low_target.
|
static |
Definition at line 215 of file lynx-low.c.
References add_process(), process_info_private::last_wait_event_ptid, lynx_tdesc, null_ptid, process_info::priv, process_info::tdesc, and xcalloc().
Referenced by lynx_attach(), and lynx_create_inferior().
|
static |
Definition at line 269 of file lynx-low.c.
References add_thread(), find_thread_ptid(), lynx_debug(), lynx_ptid_build(), and perror_with_name().
Referenced by lynx_attach().
|
static |
Definition at line 304 of file lynx-low.c.
References errno, error(), lynx_add_process(), lynx_add_threads_after_attach(), lynx_ptid_build(), lynx_ptrace(), and strerror().
|
static |
Definition at line 357 of file lynx-low.c.
References thread_resume::kind, lynx_resume(), thread_resume::sig, and thread_resume::thread.
Referenced by lynx_wait_1().
|
static |
Definition at line 230 of file lynx-low.c.
References close_most_fds(), errno, lynx_add_process(), lynx_debug(), lynx_ptrace(), null_ptid, perror_with_name(), and strerror().
|
static |
Definition at line 48 of file lynx-low.c.
References debug_threads.
Referenced by lynx_add_threads_after_attach(), lynx_create_inferior(), lynx_fetch_registers(), lynx_store_registers(), lynx_wait(), and lynx_wait_1().
|
static |
Definition at line 535 of file lynx-low.c.
References find_process_pid(), lynx_ptid_build(), lynx_ptrace(), target_ops::mourn, and the_target.
|
static |
Definition at line 583 of file lynx-low.c.
References current_thread, lynx_regset_info::get_request, lynx_debug(), lynx_ptrace(), lynx_target_regsets, perror(), lynx_regset_info::size, lynx_regset_info::store_function, thread_to_gdb_id(), and xmalloc().
|
static |
Definition at line 564 of file lynx-low.c.
|
static |
Definition at line 516 of file lynx-low.c.
References find_process_pid(), lynx_ptid_build(), lynx_ptrace(), lynx_wait(), target_ops::mourn, and the_target.
|
static |
Definition at line 552 of file lynx-low.c.
References clear_inferiors(), and process_info::priv.
|
static |
Definition at line 65 of file lynx-low.c.
References ptid_build().
Referenced by lynx_add_threads_after_attach(), lynx_attach(), lynx_detach(), lynx_kill(), and lynx_wait_1().
|
static |
Definition at line 82 of file lynx-low.c.
References ptid_get_pid().
Referenced by lynx_ptrace_pid_from_ptid(), lynx_request_interrupt(), lynx_wait(), and lynx_wait_1().
|
static |
Definition at line 90 of file lynx-low.c.
References ptid_get_lwp().
Referenced by lynx_ptrace_pid_from_ptid(), lynx_wait(), and lynx_wait_1().
|
static |
Definition at line 191 of file lynx-low.c.
References debug_threads, errno, lynx_ptrace_pid_from_ptid(), and ptrace_request_to_str().
Referenced by lynx_attach(), lynx_create_inferior(), lynx_detach(), lynx_fetch_registers(), lynx_kill(), lynx_read_memory(), lynx_resume(), lynx_store_registers(), lynx_wait_1(), and lynx_write_memory().
|
static |
Definition at line 101 of file lynx-low.c.
References lynx_ptid_get_pid(), and lynx_ptid_get_tid().
Referenced by lynx_ptrace().
|
static |
Definition at line 640 of file lynx-low.c.
References current_thread, errno, lynx_ptrace(), and thread_to_gdb_id().
Referenced by lynx_write_memory().
|
static |
Definition at line 714 of file lynx-low.c.
References current_thread, lynx_ptid_get_pid(), and thread_to_gdb_id().
|
static |
Definition at line 321 of file lynx-low.c.
References current_process(), current_thread, errno, thread_resume::kind, process_info_private::last_wait_event_ptid, lynx_ptrace(), minus_one_ptid, perror_with_name(), process_info::priv, ptid_equal(), regcache_invalidate(), thread_resume::sig, thread_resume::thread, and thread_to_gdb_id().
Referenced by lynx_continue().
|
static |
Definition at line 608 of file lynx-low.c.
References current_thread, lynx_regset_info::fill_function, lynx_regset_info::get_request, lynx_debug(), lynx_ptrace(), lynx_target_regsets, perror(), lynx_regset_info::set_request, lynx_regset_info::size, thread_to_gdb_id(), and xmalloc().
|
static |
Definition at line 573 of file lynx-low.c.
References find_thread_ptid().
Definition at line 500 of file lynx-low.c.
References lynx_debug(), lynx_ptid_get_pid(), lynx_ptid_get_tid(), and lynx_wait_1().
Referenced by lynx_kill().
Definition at line 409 of file lynx-low.c.
References add_thread(), current_thread, find_process_pid(), find_thread_ptid(), gdb_signal_from_host(), process_info_private::last_wait_event_ptid, lynx_continue(), lynx_debug(), lynx_ptid_build(), lynx_ptid_get_pid(), lynx_ptid_get_tid(), lynx_ptrace(), lynx_waitpid(), minus_one_ptid, process_info::priv, ptid_equal(), remove_thread(), thread_to_gdb_id(), WEXITSTATUS, WIFEXITED, WIFSIGNALED, WIFSTOPPED, WSTOPSIG, and WTERMSIG.
Referenced by lynx_wait().
|
static |
Definition at line 372 of file lynx-low.c.
References errno, perror_with_name(), WNOHANG, and WUNTRACED.
Referenced by lynx_wait_1().
|
static |
Definition at line 673 of file lynx-low.c.
References current_thread, errno, lynx_ptrace(), lynx_read_memory(), and thread_to_gdb_id().
|
static |
|
static |
Definition at line 723 of file lynx-low.c.
const struct target_desc* lynx_tdesc |
Definition at line 34 of file lynx-low.c.
Referenced by lynx_add_process(), lynx_i386_arch_setup(), and lynx_ppc_arch_setup().
int using_threads = 1 |
Definition at line 32 of file lynx-low.c.