gdbserver: turn target op 'emit_ops' into a method
[deliverable/binutils-gdb.git] / gdbserver / server.cc
index 4785eabaf06e9b5996d60a040707e5df24c3a044..448089fd47c454b2150c48894957d27c682d5270 100644 (file)
@@ -740,7 +740,7 @@ handle_general_set (char *own_buf)
        }
 
       req_str = req ? "non-stop" : "all-stop";
-      if (start_non_stop (req) != 0)
+      if (the_target->pt->start_non_stop (req == 1) != 0)
        {
          fprintf (stderr, "Setting %s mode failed\n", req_str);
          write_enn (own_buf);
@@ -1234,7 +1234,7 @@ handle_detach (char *own_buf)
            debug_printf ("Forcing non-stop mode\n");
 
          non_stop = true;
-         start_non_stop (1);
+         the_target->pt->start_non_stop (true);
        }
 
       process->gdb_detached = 1;
@@ -1442,13 +1442,13 @@ handle_qxfer_auxv (const char *annex,
                   gdb_byte *readbuf, const gdb_byte *writebuf,
                   ULONGEST offset, LONGEST len)
 {
-  if (the_target->read_auxv == NULL || writebuf != NULL)
+  if (!the_target->pt->supports_read_auxv () || writebuf != NULL)
     return -2;
 
   if (annex[0] != '\0' || current_thread == NULL)
     return -1;
 
-  return (*the_target->read_auxv) (offset, readbuf, len);
+  return the_target->pt->read_auxv (offset, readbuf, len);
 }
 
 /* Handle qXfer:exec-file:read.  */
@@ -1587,10 +1587,10 @@ handle_qxfer_osdata (const char *annex,
                     gdb_byte *readbuf, const gdb_byte *writebuf,
                     ULONGEST offset, LONGEST len)
 {
-  if (the_target->qxfer_osdata == NULL || writebuf != NULL)
+  if (!the_target->pt->supports_qxfer_osdata () || writebuf != NULL)
     return -2;
 
-  return (*the_target->qxfer_osdata) (annex, readbuf, NULL, offset, len);
+  return the_target->pt->qxfer_osdata (annex, readbuf, NULL, offset, len);
 }
 
 /* Handle qXfer:siginfo:read and qXfer:siginfo:write.  */
@@ -1600,13 +1600,13 @@ handle_qxfer_siginfo (const char *annex,
                      gdb_byte *readbuf, const gdb_byte *writebuf,
                      ULONGEST offset, LONGEST len)
 {
-  if (the_target->qxfer_siginfo == NULL)
+  if (!the_target->pt->supports_qxfer_siginfo ())
     return -2;
 
   if (annex[0] != '\0' || current_thread == NULL)
     return -1;
 
-  return (*the_target->qxfer_siginfo) (annex, readbuf, writebuf, offset, len);
+  return the_target->pt->qxfer_siginfo (annex, readbuf, writebuf, offset, len);
 }
 
 /* Handle qXfer:statictrace:read.  */
@@ -1792,13 +1792,13 @@ static int
 handle_qxfer_fdpic (const char *annex, gdb_byte *readbuf,
                    const gdb_byte *writebuf, ULONGEST offset, LONGEST len)
 {
-  if (the_target->read_loadmap == NULL)
+  if (!the_target->pt->supports_read_loadmap ())
     return -2;
 
   if (current_thread == NULL)
     return -1;
 
-  return (*the_target->read_loadmap) (annex, offset, readbuf, len);
+  return the_target->pt->read_loadmap (annex, offset, readbuf, len);
 }
 
 /* Handle qXfer:btrace:read.  */
@@ -2234,13 +2234,13 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
        }
     }
 
-  if (the_target->read_offsets != NULL
+  if (the_target->pt->supports_read_offsets ()
       && strcmp ("qOffsets", own_buf) == 0)
     {
       CORE_ADDR text, data;
 
       require_running_or_return (own_buf);
-      if (the_target->read_offsets (&text, &data))
+      if (the_target->pt->read_offsets (&text, &data))
        sprintf (own_buf, "Text=%lX;Data=%lX;Bss=%lX",
                 (long)text, (long)data, (long)data);
       else
@@ -2374,13 +2374,13 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
          strcat (own_buf, ";qXfer:libraries:read+");
        }
 
-      if (the_target->read_auxv != NULL)
+      if (the_target->pt->supports_read_auxv ())
        strcat (own_buf, ";qXfer:auxv:read+");
 
-      if (the_target->qxfer_siginfo != NULL)
+      if (the_target->pt->supports_qxfer_siginfo ())
        strcat (own_buf, ";qXfer:siginfo:read+;qXfer:siginfo:write+");
 
-      if (the_target->read_loadmap != NULL)
+      if (the_target->pt->supports_read_loadmap ())
        strcat (own_buf, ";qXfer:fdpic:read+");
 
       /* We always report qXfer:features:read, as targets may
@@ -2392,7 +2392,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
       if (cs.transport_is_reliable)
        strcat (own_buf, ";QStartNoAckMode+");
 
-      if (the_target->qxfer_osdata != NULL)
+      if (the_target->pt->supports_qxfer_osdata ())
        strcat (own_buf, ";qXfer:osdata:read+");
 
       if (target_supports_multi_process ())
@@ -2467,7 +2467,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
     }
 
   /* Thread-local storage support.  */
-  if (the_target->get_tls_address != NULL
+  if (the_target->pt->supports_get_tls_address ()
       && startswith (own_buf, "qGetTLSAddr:"))
     {
       char *p = own_buf + 12;
@@ -2513,8 +2513,8 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
          if (thread == NULL)
            err = 2;
          else
-           err = the_target->get_tls_address (thread, parts[0], parts[1],
-                                              &address);
+           err = the_target->pt->get_tls_address (thread, parts[0], parts[1],
+                                                  &address);
        }
 
       if (err == 0)
@@ -2532,7 +2532,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
     }
 
   /* Windows OS Thread Information Block address support.  */
-  if (the_target->get_tib_address != NULL
+  if (the_target->pt->supports_get_tib_address ()
       && startswith (own_buf, "qGetTIBAddr:"))
     {
       const char *annex;
@@ -2540,7 +2540,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
       CORE_ADDR tlb;
       ptid_t ptid = read_ptid (own_buf + 12, &annex);
 
-      n = (*the_target->get_tib_address) (ptid, &tlb);
+      n = the_target->pt->get_tib_address (ptid, &tlb);
       if (n == 1)
        {
          strcpy (own_buf, paddress(tlb));
@@ -2577,8 +2577,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
 
       write_ok (own_buf);
 
-      if (the_target->handle_monitor_command == NULL
-         || (*the_target->handle_monitor_command) (mon) == 0)
+      if (the_target->pt->handle_monitor_command (mon) == 0)
        /* Default processing.  */
        handle_monitor_command (mon, own_buf);
 
@@ -3088,7 +3087,7 @@ handle_v_requests (char *own_buf, int packet_len, int *new_packet_len)
     {
       if (strcmp (own_buf, "vCtrlC") == 0)
        {
-         (*the_target->request_interrupt) ();
+         the_target->pt->request_interrupt ();
          write_ok (own_buf);
          return;
        }
@@ -3218,7 +3217,7 @@ queue_stop_reply_callback (thread_info *thread)
 {
   /* For now, assume targets that don't have this callback also don't
      manage the thread's last_status field.  */
-  if (the_target->thread_stopped == NULL)
+  if (!the_target->pt->supports_thread_stopped ())
     {
       struct vstop_notif *new_notif = new struct vstop_notif;
 
@@ -3230,7 +3229,7 @@ queue_stop_reply_callback (thread_info *thread)
     }
   else
     {
-      if (thread_stopped (thread))
+      if (target_thread_stopped (thread))
        {
          if (debug_threads)
            {
@@ -3324,8 +3323,8 @@ handle_status (char *own_buf)
     {
       thread_info *thread = NULL;
 
-      pause_all (0);
-      stabilize_threads ();
+      target_pause_all (false);
+      target_stabilize_threads ();
       gdb_wants_all_threads_stopped ();
 
       /* We can only report one status, but we might be coming out of
@@ -3885,7 +3884,7 @@ captured_main (int argc, char *argv[])
                     down without informing GDB.  */
                  if (!non_stop)
                    {
-                     if (start_non_stop (1))
+                     if (the_target->pt->start_non_stop (true))
                        non_stop = 1;
 
                      /* Detaching implicitly resumes all threads;
This page took 0.029589 seconds and 4 git commands to generate.