gdbserver: fix gdbserver builds after expedite_regs changes
authorAndrew Burgess <aburgess@redhat.com>
Thu, 5 Oct 2023 11:14:32 +0000 (12:14 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Fri, 6 Oct 2023 12:16:16 +0000 (13:16 +0100)
After this commit:

  commit 6a65998a8a94abaaae7ca4ff0ab9c3f25dc2e766
  Date:   Mon Sep 11 12:42:00 2023 +0100

      Convert tdesc's expedite_regs to a string vector

The risc-v, loongarch, and csky gdbserver builds were broken.  A use
of target_desc::expedite_regs (for each architecture)  was not updated
to take account of the type change.

I've tested that this fixes the risc-v build.  I haven't tested the
other architectures, but they should be fine.

gdbserver/linux-csky-low.cc
gdbserver/linux-loongarch-low.cc
gdbserver/linux-riscv-low.cc

index 3117556f5decdb147c9ac9e6ade0e5bfb26464bf..feb428ec9d2bd50f9a3af335ba02b52e0911480f 100644 (file)
@@ -132,8 +132,11 @@ csky_target::low_arch_setup ()
   static const char *expedite_regs[] = { "r14", "pc", NULL };
   target_desc_up tdesc = csky_create_target_description ();
 
-  if (!tdesc->expedite_regs)
-    init_target_desc (tdesc.get (), expedite_regs);
+  if (tdesc->expedite_regs.empty ())
+    {
+      init_target_desc (tdesc.get (), expedite_regs);
+      gdb_assert (!tdesc->expedite_regs.empty ());
+    }
 
   current_process ()->tdesc = tdesc.release ();
 
index ead2e76d25dcd4f4a3c5eb926f3b63b782e0f396..3eb87f55d0f044c8afc4ca255a19a0fa43ee072c 100644 (file)
@@ -84,8 +84,11 @@ loongarch_target::low_arch_setup ()
   features.xlen = sizeof (elf_greg_t);
   tdesc = loongarch_create_target_description (features);
 
-  if (!tdesc->expedite_regs)
-    init_target_desc (tdesc.get (), expedite_regs);
+  if (tdesc->expedite_regs.empty ())
+    {
+      init_target_desc (tdesc.get (), expedite_regs);
+      gdb_assert (!tdesc->expedite_regs.empty ());
+    }
   current_process ()->tdesc = tdesc.release ();
 }
 
index 129bc3b138b8467e97d8fb943b1f9e16237ce6e6..4c251bb179c6b28c11b080419a2518a27ecf3aa4 100644 (file)
@@ -90,8 +90,12 @@ riscv_target::low_arch_setup ()
     = riscv_linux_read_features (lwpid_of (current_thread));
   target_desc_up tdesc = riscv_create_target_description (features);
 
-  if (!tdesc->expedite_regs)
-    init_target_desc (tdesc.get (), expedite_regs);
+  if (tdesc->expedite_regs.empty ())
+    {
+      init_target_desc (tdesc.get (), expedite_regs);
+      gdb_assert (!tdesc->expedite_regs.empty ());
+    }
+
   current_process ()->tdesc = tdesc.release ();
 }