|
GDBserver
|
#include "server.h"#include "terminal.h"#include "target.h"#include "gdbthread.h"#include "tdesc.h"#include "dll.h"#include "rsp-low.h"#include <ctype.h>#include <sys/time.h>#include <unistd.h>#include <sys/stat.h>Go to the source code of this file.
Classes | |
| struct | sym_cache |
Macros | |
| #define | INVALID_DESCRIPTOR -1 |
Typedefs | |
| typedef int | socklen_t |
Enumerations | |
| enum | { NOT_SCHEDULED = -1 } |
Functions | |
| static int | readchar (void) |
| static void | reset_readchar (void) |
| static void | reschedule (void) |
| int | gdb_connected (void) |
| int | remote_connection_is_stdio (void) |
| static void | enable_async_notification (int fd) |
| static int | handle_accept_event (int err, gdb_client_data client_data) |
| void | remote_prepare (char *name) |
| void | remote_open (char *name) |
| void | remote_close (void) |
| void | decode_address (CORE_ADDR *addrp, const char *start, int len) |
| const char * | decode_address_to_semicolon (CORE_ADDR *addrp, const char *start) |
| static int | try_rle (char *buf, int remaining, unsigned char *csum, char **p) |
| char * | write_ptid (char *buf, ptid_t ptid) |
| ULONGEST | hex_or_minus_one (char *buf, char **obuf) |
| ptid_t | read_ptid (char *buf, char **obuf) |
| static int | write_prim (const void *buf, int count) |
| static int | read_prim (void *buf, int count) |
| static int | putpkt_binary_1 (char *buf, int cnt, int is_notif) |
| int | putpkt_binary (char *buf, int cnt) |
| int | putpkt (char *buf) |
| int | putpkt_notif (char *buf) |
| static void | input_interrupt (int unused) |
| void | check_remote_input_interrupt_request (void) |
| static void | unblock_async_io (void) |
| void | enable_async_io (void) |
| void | disable_async_io (void) |
| void | initialize_async_io (void) |
| static int | process_remaining (void *context) |
| int | getpkt (char *buf) |
| void | write_ok (char *buf) |
| void | write_enn (char *buf) |
| static char * | outreg (struct regcache *regcache, int regno, char *buf) |
| void | new_thread_notify (int id) |
| void | dead_thread_notify (int id) |
| void | prepare_resume_reply (char *buf, ptid_t ptid, struct target_waitstatus *status) |
| void | decode_m_packet (char *from, CORE_ADDR *mem_addr_ptr, unsigned int *len_ptr) |
| void | decode_M_packet (char *from, CORE_ADDR *mem_addr_ptr, unsigned int *len_ptr, unsigned char **to_p) |
| int | decode_X_packet (char *from, int packet_len, CORE_ADDR *mem_addr_ptr, unsigned int *len_ptr, unsigned char **to_p) |
| int | decode_xfer_write (char *buf, int packet_len, CORE_ADDR *offset, unsigned int *len, unsigned char *data) |
| int | decode_search_memory_packet (const char *buf, int packet_len, CORE_ADDR *start_addrp, CORE_ADDR *search_space_lenp, gdb_byte *pattern, unsigned int *pattern_lenp) |
| static void | free_sym_cache (struct sym_cache *sym) |
| void | clear_symbol_cache (struct sym_cache **symcache_p) |
| int | look_up_one_symbol (const char *name, CORE_ADDR *addrp, int may_ask_gdb) |
| int | relocate_instruction (CORE_ADDR *to, CORE_ADDR oldloc) |
| void | monitor_output (const char *msg) |
Variables | |
| static int | readchar_callback = NOT_SCHEDULED |
| int | remote_debug = 0 |
| struct ui_file * | gdb_stdlog |
| static int | remote_is_stdio = 0 |
| static gdb_fildes_t | remote_desc = INVALID_DESCRIPTOR |
| static gdb_fildes_t | listen_desc = INVALID_DESCRIPTOR |
| int | using_threads |
| int | debug_threads |
| int | noack_mode = 0 |
| int | transport_is_reliable = 0 |
| static int | async_io_enabled |
| static unsigned char | readchar_buf [BUFSIZ] |
| static int | readchar_bufcnt = 0 |
| static unsigned char * | readchar_bufp |
| #define INVALID_DESCRIPTOR -1 |
Definition at line 78 of file remote-utils.c.
Referenced by check_remote_input_interrupt_request(), gdb_connected(), and remote_close().
| typedef int socklen_t |
Definition at line 70 of file remote-utils.c.
| anonymous enum |
| Enumerator | |
|---|---|
| NOT_SCHEDULED | |
Definition at line 82 of file remote-utils.c.
| void check_remote_input_interrupt_request | ( | void | ) |
Definition at line 766 of file remote-utils.c.
References input_interrupt(), INVALID_DESCRIPTOR, and remote_desc.
Referenced by get_child_debug_event().
| void clear_symbol_cache | ( | struct sym_cache ** | symcache_p | ) |
Definition at line 1398 of file remote-utils.c.
References free_sym_cache(), and sym_cache::next.
Referenced by remove_process().
| void dead_thread_notify | ( | int | id | ) |
Definition at line 1092 of file remote-utils.c.
References disable_async_io(), enable_async_io(), own_buf, and putpkt().
| void decode_address | ( | CORE_ADDR * | addrp, |
| const char * | start, | ||
| int | len | ||
| ) |
Definition at line 421 of file remote-utils.c.
References fromhex().
Referenced by decode_address_to_semicolon(), handle_query(), and look_up_one_symbol().
| const char* decode_address_to_semicolon | ( | CORE_ADDR * | addrp, |
| const char * | start | ||
| ) |
Definition at line 438 of file remote-utils.c.
References decode_address().
Referenced by decode_search_memory_packet(), handle_general_set(), and linux_qxfer_libraries_svr4().
| void decode_m_packet | ( | char * | from, |
| CORE_ADDR * | mem_addr_ptr, | ||
| unsigned int * | len_ptr | ||
| ) |
Definition at line 1268 of file remote-utils.c.
References fromhex().
Referenced by decode_xfer_read(), look_up_one_symbol(), process_serial_event(), and relocate_instruction().
| void decode_M_packet | ( | char * | from, |
| CORE_ADDR * | mem_addr_ptr, | ||
| unsigned int * | len_ptr, | ||
| unsigned char ** | to_p | ||
| ) |
Definition at line 1290 of file remote-utils.c.
References fromhex(), hex2bin(), and xmalloc().
Referenced by process_serial_event(), and relocate_instruction().
| int decode_search_memory_packet | ( | const char * | buf, |
| int | packet_len, | ||
| CORE_ADDR * | start_addrp, | ||
| CORE_ADDR * | search_space_lenp, | ||
| gdb_byte * | pattern, | ||
| unsigned int * | pattern_lenp | ||
| ) |
Definition at line 1372 of file remote-utils.c.
References decode_address_to_semicolon(), and remote_unescape_input().
Referenced by handle_search_memory().
| int decode_X_packet | ( | char * | from, |
| int | packet_len, | ||
| CORE_ADDR * | mem_addr_ptr, | ||
| unsigned int * | len_ptr, | ||
| unsigned char ** | to_p | ||
| ) |
Definition at line 1316 of file remote-utils.c.
References fromhex(), remote_unescape_input(), and xmalloc().
Referenced by process_serial_event(), and relocate_instruction().
| int decode_xfer_write | ( | char * | buf, |
| int | packet_len, | ||
| CORE_ADDR * | offset, | ||
| unsigned int * | len, | ||
| unsigned char * | data | ||
| ) |
Definition at line 1348 of file remote-utils.c.
References fromhex(), and remote_unescape_input().
Referenced by handle_qxfer().
| void disable_async_io | ( | void | ) |
Definition at line 836 of file remote-utils.c.
Referenced by dead_thread_notify(), initialize_async_io(), new_thread_notify(), process_serial_event(), and resume().
| void enable_async_io | ( | void | ) |
Definition at line 820 of file remote-utils.c.
References input_interrupt().
Referenced by dead_thread_notify(), new_thread_notify(), and resume().
|
static |
Definition at line 140 of file remote-utils.c.
Referenced by handle_accept_event(), and remote_open().
|
static |
Definition at line 1388 of file remote-utils.c.
References sym_cache::name.
Referenced by clear_symbol_cache().
| int gdb_connected | ( | void | ) |
Definition at line 126 of file remote-utils.c.
References INVALID_DESCRIPTOR, and remote_desc.
Referenced by handle_target_event(), and stop_tracing().
| int getpkt | ( | char * | buf | ) |
Definition at line 945 of file remote-utils.c.
References fromhex(), noack_mode, readchar(), remote_debug, and write_prim().
Referenced by look_up_one_symbol(), process_serial_event(), and relocate_instruction().
|
static |
Definition at line 154 of file remote-utils.c.
References add_file_handler(), debug_printf(), debug_threads, delete_file_handler(), enable_async_notification(), handle_serial_event(), listen_desc, perror_with_name(), remote_desc, run_once, and target_async.
Referenced by remote_open().
| ULONGEST hex_or_minus_one | ( | char * | buf, |
| char ** | obuf | ||
| ) |
Definition at line 530 of file remote-utils.c.
References startswith(), and unpack_varlen_hex().
Referenced by read_ptid().
| void initialize_async_io | ( | void | ) |
Definition at line 852 of file remote-utils.c.
References disable_async_io(), and unblock_async_io().
Referenced by captured_main().
|
static |
Definition at line 728 of file remote-utils.c.
References current_thread, read_prim(), remote_desc, target_ops::request_interrupt, and the_target.
Referenced by check_remote_input_interrupt_request(), and enable_async_io().
| int look_up_one_symbol | ( | const char * | name, |
| CORE_ADDR * | addrp, | ||
| int | may_ask_gdb | ||
| ) |
Definition at line 1417 of file remote-utils.c.
References sym_cache::addr, bin2hex(), current_process(), decode_address(), decode_m_packet(), getpkt(), mem_buf, sym_cache::name, sym_cache::next, own_buf, putpkt(), read_inferior_memory(), startswith(), process_info::symbol_cache, warning(), write_enn(), xmalloc(), and xstrdup().
Referenced by find_minimal_symbol_address(), thread_db_look_up_one_symbol(), thread_db_look_up_symbols(), and tracepoint_look_up_symbols().
| void monitor_output | ( | const char * | msg | ) |
Definition at line 1599 of file remote-utils.c.
References bin2hex(), putpkt(), and xmalloc().
Referenced by handle_monitor_command(), handle_output_debug_string(), monitor_show_help(), parse_debug_format_options(), and thread_db_handle_monitor_command().
| void new_thread_notify | ( | int | id | ) |
Definition at line 1074 of file remote-utils.c.
References disable_async_io(), enable_async_io(), own_buf, putpkt(), and server_waiting.
|
static |
Definition at line 1057 of file remote-utils.c.
References collect_register_as_string(), register_size(), regcache::tdesc, and tohex().
Referenced by prepare_resume_reply().
| void prepare_resume_reply | ( | char * | buf, |
| ptid_t | ptid, | ||
| struct target_waitstatus * | status | ||
| ) |
Definition at line 1107 of file remote-utils.c.
References current_target_desc(), current_thread, debug_printf(), debug_threads, disable_packet_Tthread, dlls_changed, error(), target_desc::expedite_regs, find_regno(), find_thread_ptid(), general_thread, get_thread_regcache(), hwbreak_feature, multi_process, non_stop, outreg(), ptid_equal(), ptid_get_pid(), report_fork_events, report_vfork_events, target_ops::stopped_by_watchpoint, target_ops::stopped_data_address, swbreak_feature, target_core_of_thread, target_pid_to_str(), target_stopped_by_hw_breakpoint, target_stopped_by_sw_breakpoint, regcache::tdesc, the_target, tohex(), using_threads, and write_ptid().
Referenced by handle_pending_status(), handle_status(), handle_v_attach(), handle_v_run(), resume(), and vstop_notif_reply().
|
static |
Definition at line 916 of file remote-utils.c.
References handle_serial_event(), NOT_SCHEDULED, and readchar_callback.
Referenced by reschedule().
| int putpkt | ( | char * | buf | ) |
Definition at line 710 of file remote-utils.c.
References putpkt_binary().
Referenced by captured_main(), dead_thread_notify(), look_up_one_symbol(), monitor_output(), new_thread_notify(), process_serial_event(), and relocate_instruction().
| int putpkt_binary | ( | char * | buf, |
| int | cnt | ||
| ) |
Definition at line 700 of file remote-utils.c.
References putpkt_binary_1().
Referenced by process_serial_event(), and putpkt().
|
static |
Definition at line 616 of file remote-utils.c.
References current_thread, noack_mode, perror(), readchar(), remote_debug, target_ops::request_interrupt, the_target, tohex(), try_rle(), write_prim(), and xmalloc().
Referenced by putpkt_binary(), and putpkt_notif().
| int putpkt_notif | ( | char * | buf | ) |
Definition at line 716 of file remote-utils.c.
References putpkt_binary_1().
Referenced by notif_push().
|
static |
Definition at line 603 of file remote-utils.c.
References remote_connection_is_stdio(), and remote_desc.
Referenced by input_interrupt(), and readchar().
| ptid_t read_ptid | ( | char * | buf, |
| char ** | obuf | ||
| ) |
Definition at line 551 of file remote-utils.c.
References current_ptid, error(), hex_or_minus_one(), ptid_build(), ptid_get_pid(), and unpack_varlen_hex().
Referenced by handle_query(), handle_v_cont(), and process_serial_event().
|
static |
Definition at line 873 of file remote-utils.c.
References perror(), read_prim(), readchar_buf, and reschedule().
Referenced by getpkt(), and putpkt_binary_1().
Definition at line 1516 of file remote-utils.c.
References bin2hex(), decode_m_packet(), decode_M_packet(), decode_X_packet(), getpkt(), mem_buf, own_buf, paddress(), putpkt(), read_inferior_memory(), startswith(), unpack_varlen_hex(), warning(), write_enn(), write_inferior_memory(), write_ok(), and xmalloc().
Referenced by i386_install_fast_tracepoint_jump_pad().
| void remote_close | ( | void | ) |
Definition at line 401 of file remote-utils.c.
References delete_file_handler(), INVALID_DESCRIPTOR, remote_connection_is_stdio(), remote_desc, and reset_readchar().
Referenced by process_serial_event().
| int remote_connection_is_stdio | ( | void | ) |
Definition at line 134 of file remote-utils.c.
References remote_is_stdio.
Referenced by linux_create_inferior(), mywait(), process_serial_event(), read_prim(), remote_close(), and write_prim().
| void remote_open | ( | char * | name | ) |
Definition at line 287 of file remote-utils.c.
References add_file_handler(), enable_async_notification(), errno, error(), handle_accept_event(), handle_serial_event(), listen_desc, perror_with_name(), remote_desc, S_ISCHR, S_ISFIFO, and STDIO_CONNECTION_NAME.
Referenced by captured_main().
| void remote_prepare | ( | char * | name | ) |
Definition at line 220 of file remote-utils.c.
References error(), listen_desc, perror_with_name(), remote_is_stdio, STDIO_CONNECTION_NAME, and transport_is_reliable.
Referenced by captured_main().
|
static |
Definition at line 935 of file remote-utils.c.
References append_callback_event(), NOT_SCHEDULED, process_remaining(), and readchar_callback.
Referenced by readchar().
|
static |
Definition at line 903 of file remote-utils.c.
References delete_callback_event(), NOT_SCHEDULED, and readchar_callback.
Referenced by remote_close().
|
static |
Definition at line 462 of file remote-utils.c.
Referenced by putpkt_binary_1().
|
static |
Definition at line 782 of file remote-utils.c.
Referenced by initialize_async_io().
| void write_enn | ( | char * | buf | ) |
Definition at line 1043 of file remote-utils.c.
Referenced by captured_main(), cmd_bigqtbuffer_size(), cmd_qtbuffer(), cmd_qtdp(), cmd_qtdpsrc(), cmd_qtenable_disable(), cmd_qtinit(), cmd_qtp(), cmd_qtstart(), handle_fstat(), handle_general_set(), handle_monitor_command(), handle_query(), handle_qxfer(), handle_v_attach(), handle_v_cont(), handle_v_kill(), handle_v_requests(), handle_v_run(), install_tracepoint(), look_up_one_symbol(), process_serial_event(), and relocate_instruction().
| void write_ok | ( | char * | buf | ) |
Definition at line 1035 of file remote-utils.c.
Referenced by cmd_bigqtbuffer_circular(), cmd_bigqtbuffer_size(), cmd_qtdisconnected(), cmd_qtdp(), cmd_qtdpsrc(), cmd_qtdv(), cmd_qtenable_disable(), cmd_qtframe(), cmd_qtinit(), cmd_qtnotes(), cmd_qtro(), cmd_qtstart(), cmd_qtstop(), handle_btrace_conf_general_set(), handle_btrace_general_set(), handle_general_set(), handle_query(), handle_v_attach(), handle_v_kill(), install_tracepoint(), notif_write_event(), process_serial_event(), relocate_instruction(), and resume().
|
static |
Definition at line 590 of file remote-utils.c.
References remote_connection_is_stdio(), and remote_desc.
Referenced by getpkt(), and putpkt_binary_1().
| char* write_ptid | ( | char * | buf, |
| ptid_t | ptid | ||
| ) |
Definition at line 508 of file remote-utils.c.
References multi_process, ptid_get_lwp(), and ptid_get_pid().
Referenced by handle_query(), handle_qxfer_threads_worker(), and prepare_resume_reply().
|
static |
Definition at line 816 of file remote-utils.c.
| int debug_threads |
Definition at line 24 of file debug.c.
Referenced by handle_accept_event(), and prepare_resume_reply().
| struct ui_file* gdb_stdlog |
Definition at line 104 of file remote-utils.c.
|
static |
Definition at line 109 of file remote-utils.c.
Referenced by handle_accept_event(), remote_open(), and remote_prepare().
| int noack_mode = 0 |
Definition at line 116 of file remote-utils.c.
Referenced by captured_main(), getpkt(), handle_general_set(), and putpkt_binary_1().
|
static |
Definition at line 866 of file remote-utils.c.
Referenced by readchar().
|
static |
Definition at line 867 of file remote-utils.c.
|
static |
Definition at line 868 of file remote-utils.c.
|
static |
Definition at line 89 of file remote-utils.c.
Referenced by process_remaining(), reschedule(), and reset_readchar().
| int remote_debug = 0 |
Definition at line 103 of file remote-utils.c.
Referenced by getpkt(), handle_notif_ack(), notif_event_enque(), and putpkt_binary_1().
|
static |
Definition at line 108 of file remote-utils.c.
Referenced by check_remote_input_interrupt_request(), gdb_connected(), handle_accept_event(), input_interrupt(), read_prim(), remote_close(), remote_open(), and write_prim().
|
static |
Definition at line 106 of file remote-utils.c.
Referenced by remote_connection_is_stdio(), and remote_prepare().
| int transport_is_reliable = 0 |
Definition at line 118 of file remote-utils.c.
Referenced by handle_query(), and remote_prepare().
| int using_threads |
Definition at line 250 of file linux-low.c.
Referenced by prepare_resume_reply().
1.8.10