X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fgdbserver%2Fserver.c;h=a425fbaa013702b727e2d7c94d630a1e957adaf2;hb=d9fa87f4f6e732f5feb41f2fa7dc6faddb1fb627;hp=127cd3840bcbc5cafb453aea7b5eabfc1553c242;hpb=4196ab2a6d348f76c0e5e78252e44d9c631636d2;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c index 127cd3840b..a425fbaa01 100644 --- a/gdb/gdbserver/server.c +++ b/gdb/gdbserver/server.c @@ -41,6 +41,9 @@ #include "gdbsupport/environ.h" #include "filenames.h" #include "gdbsupport/pathstuff.h" +#ifdef USE_XML +#include "xml-builtin.h" +#endif #include "gdbsupport/selftest.h" #include "gdbsupport/scope-exit.h" @@ -67,25 +70,19 @@ char *current_directory; static gdb_environ our_environ; -/* Start the inferior using a shell. */ - -/* We always try to start the inferior using a shell. */ - -int startup_with_shell = 1; - -int server_waiting; +bool server_waiting; -static int extended_protocol; -static int response_needed; -static int exit_requested; +static bool extended_protocol; +static bool response_needed; +static bool exit_requested; /* --once: Exit after the first connection has closed. */ -int run_once; +bool run_once; -/* Whether to report TARGET_WAITKING_NO_RESUMED events. */ -static int report_no_resumed; +/* Whether to report TARGET_WAITKIND_NO_RESUMED events. */ +static bool report_no_resumed; -int non_stop; +bool non_stop; static struct { /* Set the PROGRAM_PATH. Here we adjust the path of the provided @@ -129,10 +126,10 @@ unsigned long signal_pid; /* Set if you want to disable optional thread related packets support in gdbserver, for the sake of testing GDB against stubs that don't support them. */ -int disable_packet_vCont; -int disable_packet_Tthread; -int disable_packet_qC; -int disable_packet_qfThreadInfo; +bool disable_packet_vCont; +bool disable_packet_Tthread; +bool disable_packet_qC; +bool disable_packet_qfThreadInfo; static unsigned char *mem_buf; @@ -268,7 +265,7 @@ get_exec_wrapper () /* See gdbsupport/common-inferior.h. */ -char * +const char * get_exec_file (int err) { if (err && program_path.get () == NULL) @@ -750,7 +747,7 @@ handle_general_set (char *own_buf) return; } - non_stop = req; + non_stop = (req != 0); if (remote_debug) debug_printf ("[%s mode enabled]\n", req_str); @@ -926,7 +923,6 @@ get_features_xml (const char *annex) #ifdef USE_XML { - extern const char *const xml_builtin[][2]; int i; /* Look for the annex. */ @@ -1237,7 +1233,7 @@ handle_detach (char *own_buf) if (debug_threads) debug_printf ("Forcing non-stop mode\n"); - non_stop = 1; + non_stop = true; start_non_stop (1); } @@ -1406,7 +1402,7 @@ handle_monitor_command (char *mon, char *own_buf) else if (strcmp (mon, "help") == 0) monitor_show_help (); else if (strcmp (mon, "exit") == 0) - exit_requested = 1; + exit_requested = true; else { monitor_output ("Unknown monitor command.\n\n"); @@ -1613,22 +1609,6 @@ handle_qxfer_siginfo (const char *annex, return (*the_target->qxfer_siginfo) (annex, readbuf, writebuf, offset, len); } -/* Handle qXfer:spu:read and qXfer:spu:write. */ - -static int -handle_qxfer_spu (const char *annex, - gdb_byte *readbuf, const gdb_byte *writebuf, - ULONGEST offset, LONGEST len) -{ - if (the_target->qxfer_spu == NULL) - return -2; - - if (current_thread == NULL) - return -1; - - return (*the_target->qxfer_spu) (annex, readbuf, writebuf, offset, len); -} - /* Handle qXfer:statictrace:read. */ static int @@ -1985,7 +1965,6 @@ static const struct qxfer qxfer_packets[] = { "libraries-svr4", handle_qxfer_libraries_svr4 }, { "osdata", handle_qxfer_osdata }, { "siginfo", handle_qxfer_siginfo }, - { "spu", handle_qxfer_spu }, { "statictrace", handle_qxfer_statictrace }, { "threads", handle_qxfer_threads }, { "traceframe-info", handle_qxfer_traceframe_info }, @@ -2289,9 +2268,10 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) /* Two passes, to avoid nested strtok calls in target_process_qsupported. */ - for (p = strtok (p + 1, ";"); + char *saveptr; + for (p = strtok_r (p + 1, ";", &saveptr); p != NULL; - p = strtok (NULL, ";")) + p = strtok_r (NULL, ";", &saveptr)) { count++; qsupported = XRESIZEVEC (char *, qsupported, count); @@ -2354,7 +2334,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) { /* GDB supports and wants TARGET_WAITKIND_NO_RESUMED events. */ - report_no_resumed = 1; + report_no_resumed = true; } else { @@ -2397,9 +2377,6 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) if (the_target->read_auxv != NULL) strcat (own_buf, ";qXfer:auxv:read+"); - if (the_target->qxfer_spu != NULL) - strcat (own_buf, ";qXfer:spu:read+;qXfer:spu:write+"); - if (the_target->qxfer_siginfo != NULL) strcat (own_buf, ";qXfer:siginfo:read+;qXfer:siginfo:write+"); @@ -3657,27 +3634,26 @@ captured_main (int argc, char *argv[]) } else if (startswith (*next_arg, "--disable-packet=")) { - char *packets, *tok; - - packets = *next_arg += sizeof ("--disable-packet=") - 1; - for (tok = strtok (packets, ","); + char *packets = *next_arg += sizeof ("--disable-packet=") - 1; + char *saveptr; + for (char *tok = strtok_r (packets, ",", &saveptr); tok != NULL; - tok = strtok (NULL, ",")) + tok = strtok_r (NULL, ",", &saveptr)) { if (strcmp ("vCont", tok) == 0) - disable_packet_vCont = 1; + disable_packet_vCont = true; else if (strcmp ("Tthread", tok) == 0) - disable_packet_Tthread = 1; + disable_packet_Tthread = true; else if (strcmp ("qC", tok) == 0) - disable_packet_qC = 1; + disable_packet_qC = true; else if (strcmp ("qfThreadInfo", tok) == 0) - disable_packet_qfThreadInfo = 1; + disable_packet_qfThreadInfo = true; else if (strcmp ("threads", tok) == 0) { - disable_packet_vCont = 1; - disable_packet_Tthread = 1; - disable_packet_qC = 1; - disable_packet_qfThreadInfo = 1; + disable_packet_vCont = true; + disable_packet_Tthread = true; + disable_packet_qC = true; + disable_packet_qfThreadInfo = true; } else { @@ -3705,7 +3681,7 @@ captured_main (int argc, char *argv[]) else if (strcmp (*next_arg, "--no-startup-with-shell") == 0) startup_with_shell = false; else if (strcmp (*next_arg, "--once") == 0) - run_once = 1; + run_once = true; else if (strcmp (*next_arg, "--selftest") == 0) selftest = true; else if (startswith (*next_arg, "--selftest=")) @@ -4036,7 +4012,7 @@ process_serial_event (void) disable_async_io (); - response_needed = 0; + response_needed = false; packet_len = getpkt (cs.own_buf); if (packet_len <= 0) { @@ -4044,7 +4020,7 @@ process_serial_event (void) /* Force an event loop break. */ return -1; } - response_needed = 1; + response_needed = true; char ch = cs.own_buf[0]; switch (ch) @@ -4059,7 +4035,7 @@ process_serial_event (void) handle_detach (cs.own_buf); break; case '!': - extended_protocol = 1; + extended_protocol = true; write_ok (cs.own_buf); break; case '?': @@ -4274,7 +4250,7 @@ process_serial_event (void) break; } case 'k': - response_needed = 0; + response_needed = false; if (!target_running ()) /* The packet we received doesn't make sense - but we can't reply to it, either. */ @@ -4313,7 +4289,7 @@ process_serial_event (void) } break; case 'R': - response_needed = 0; + response_needed = false; /* Restarting the inferior is only supported in the extended protocol. */ @@ -4374,7 +4350,7 @@ process_serial_event (void) else putpkt (cs.own_buf); - response_needed = 0; + response_needed = false; if (exit_requested) return -1;