From: Andrew Burgess Date: Fri, 11 Oct 2024 08:31:51 +0000 (+0100) Subject: Revert "gdbserver: pass osabi to GDB in target description" X-Git-Tag: gdb-16-branchpoint~678 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a9ed7a0814fc70feaad485576d043a983b6f8695;p=thirdparty%2Fbinutils-gdb.git Revert "gdbserver: pass osabi to GDB in target description" This reverts commit 98bcde5e268ea7cd54186c5f2c27c65103218fc3. This commit was causing build problems on at least sparc, ppc, and s390, though I suspect some other targets might be impacted too. --- diff --git a/gdbserver/linux-aarch32-tdesc.cc b/gdbserver/linux-aarch32-tdesc.cc index 441fe668e6a..b8987752b9f 100644 --- a/gdbserver/linux-aarch32-tdesc.cc +++ b/gdbserver/linux-aarch32-tdesc.cc @@ -34,7 +34,7 @@ aarch32_linux_read_description () tdesc_aarch32 = aarch32_create_target_description (false); static const char *expedite_regs[] = { "r11", "sp", "pc", 0 }; - init_target_desc (tdesc_aarch32, expedite_regs, GDB_OSABI_LINUX); + init_target_desc (tdesc_aarch32, expedite_regs); } return tdesc_aarch32; } diff --git a/gdbserver/linux-aarch64-tdesc.cc b/gdbserver/linux-aarch64-tdesc.cc index 39d5bccdce1..31ec7854cc0 100644 --- a/gdbserver/linux-aarch64-tdesc.cc +++ b/gdbserver/linux-aarch64-tdesc.cc @@ -67,8 +67,7 @@ aarch64_linux_read_description (const aarch64_features &features) expedited_registers.push_back (nullptr); - init_target_desc (tdesc, (const char **) expedited_registers.data (), - GDB_OSABI_LINUX); + init_target_desc (tdesc, (const char **) expedited_registers.data ()); tdesc_aarch64_map[features] = tdesc; } diff --git a/gdbserver/linux-arc-low.cc b/gdbserver/linux-arc-low.cc index 16d8d5824aa..1bcaf6c3f91 100644 --- a/gdbserver/linux-arc-low.cc +++ b/gdbserver/linux-arc-low.cc @@ -114,7 +114,7 @@ arc_linux_read_description (void) target_desc_up tdesc = arc_create_target_description (features); static const char *expedite_regs[] = { "sp", "status32", nullptr }; - init_target_desc (tdesc.get (), expedite_regs, GDB_OSABI_LINUX); + init_target_desc (tdesc.get (), expedite_regs); return tdesc.release (); } diff --git a/gdbserver/linux-arm-tdesc.cc b/gdbserver/linux-arm-tdesc.cc index fff2e948f81..559f9b0f3dc 100644 --- a/gdbserver/linux-arm-tdesc.cc +++ b/gdbserver/linux-arm-tdesc.cc @@ -37,7 +37,7 @@ arm_linux_read_description (arm_fp_type fp_type) tdesc = arm_create_target_description (fp_type, false); static const char *expedite_regs[] = { "r11", "sp", "pc", 0 }; - init_target_desc (tdesc, expedite_regs, GDB_OSABI_LINUX); + init_target_desc (tdesc, expedite_regs); tdesc_arm_list[fp_type] = tdesc; } diff --git a/gdbserver/linux-csky-low.cc b/gdbserver/linux-csky-low.cc index 18a0d152b5a..2eb5a2df17b 100644 --- a/gdbserver/linux-csky-low.cc +++ b/gdbserver/linux-csky-low.cc @@ -133,7 +133,7 @@ csky_target::low_arch_setup () if (tdesc->expedite_regs.empty ()) { - init_target_desc (tdesc.get (), expedite_regs, GDB_OSABI_LINUX); + init_target_desc (tdesc.get (), expedite_regs); gdb_assert (!tdesc->expedite_regs.empty ()); } diff --git a/gdbserver/linux-loongarch-low.cc b/gdbserver/linux-loongarch-low.cc index cf7d6c0743c..584ea64a7d9 100644 --- a/gdbserver/linux-loongarch-low.cc +++ b/gdbserver/linux-loongarch-low.cc @@ -85,7 +85,7 @@ loongarch_target::low_arch_setup () if (tdesc->expedite_regs.empty ()) { - init_target_desc (tdesc.get (), expedite_regs, GDB_OSABI_LINUX); + init_target_desc (tdesc.get (), expedite_regs); gdb_assert (!tdesc->expedite_regs.empty ()); } current_process ()->tdesc = tdesc.release (); diff --git a/gdbserver/linux-riscv-low.cc b/gdbserver/linux-riscv-low.cc index 7170ad9922e..c4554c507a8 100644 --- a/gdbserver/linux-riscv-low.cc +++ b/gdbserver/linux-riscv-low.cc @@ -91,7 +91,7 @@ riscv_target::low_arch_setup () if (tdesc->expedite_regs.empty ()) { - init_target_desc (tdesc.get (), expedite_regs, GDB_OSABI_LINUX); + init_target_desc (tdesc.get (), expedite_regs); gdb_assert (!tdesc->expedite_regs.empty ()); } diff --git a/gdbserver/linux-tic6x-low.cc b/gdbserver/linux-tic6x-low.cc index 754dd00590c..707be2e7b0f 100644 --- a/gdbserver/linux-tic6x-low.cc +++ b/gdbserver/linux-tic6x-low.cc @@ -228,7 +228,7 @@ tic6x_read_description (enum c6x_feature feature) { *tdesc = tic6x_create_target_description (feature); static const char *expedite_regs[] = { "A15", "PC", NULL }; - init_target_desc (*tdesc, expedite_regs, GDB_OSABI_LINUX); + init_target_desc (*tdesc, expedite_regs); } return *tdesc; diff --git a/gdbserver/linux-x86-tdesc.cc b/gdbserver/linux-x86-tdesc.cc index 6aa5c4ab970..13c80762605 100644 --- a/gdbserver/linux-x86-tdesc.cc +++ b/gdbserver/linux-x86-tdesc.cc @@ -26,21 +26,10 @@ void x86_linux_post_init_tdesc (target_desc *tdesc, bool is_64bit) { - enum gdb_osabi osabi = GDB_OSABI_LINUX; - -#ifndef IN_PROCESS_AGENT - /* x86 target descriptions are created with the osabi already set. - However, init_target_desc requires us to override the already set - value. That's fine, out new string should match the old one. */ - gdb_assert (tdesc_osabi_name (tdesc) != nullptr); - gdb_assert (strcmp (tdesc_osabi_name (tdesc), - gdbarch_osabi_name (osabi)) == 0); -#endif /* ! IN_PROCESS_AGENT */ - #ifdef __x86_64__ if (is_64bit) - init_target_desc (tdesc, amd64_expedite_regs, osabi); + init_target_desc (tdesc, amd64_expedite_regs); else #endif - init_target_desc (tdesc, i386_expedite_regs, osabi); + init_target_desc (tdesc, i386_expedite_regs); } diff --git a/gdbserver/netbsd-aarch64-low.cc b/gdbserver/netbsd-aarch64-low.cc index 8834e0ad894..f20a1a71773 100644 --- a/gdbserver/netbsd-aarch64-low.cc +++ b/gdbserver/netbsd-aarch64-low.cc @@ -98,7 +98,7 @@ netbsd_aarch64_target::low_arch_setup () = aarch64_create_target_description ({}); static const char *expedite_regs_aarch64[] = { "x29", "sp", "pc", NULL }; - init_target_desc (tdesc, expedite_regs_aarch64, GDB_OSABI_NETBSD); + init_target_desc (tdesc, expedite_regs_aarch64); current_process ()->tdesc = tdesc; } diff --git a/gdbserver/netbsd-amd64-low.cc b/gdbserver/netbsd-amd64-low.cc index ad7cb430b92..b3f3aab5ec3 100644 --- a/gdbserver/netbsd-amd64-low.cc +++ b/gdbserver/netbsd-amd64-low.cc @@ -193,7 +193,7 @@ netbsd_amd64_target::low_arch_setup () target_desc *tdesc = amd64_create_target_description (X86_XSTATE_SSE_MASK, false, false, false); - init_target_desc (tdesc, amd64_expedite_regs, GDB_OSABI_NETBSD); + init_target_desc (tdesc, amd64_expedite_regs); current_process ()->tdesc = tdesc; } diff --git a/gdbserver/netbsd-i386-low.cc b/gdbserver/netbsd-i386-low.cc index ea6fce4c6f9..247a39797c4 100644 --- a/gdbserver/netbsd-i386-low.cc +++ b/gdbserver/netbsd-i386-low.cc @@ -142,7 +142,7 @@ netbsd_i386_target::low_arch_setup () target_desc *tdesc = i386_create_target_description (X86_XSTATE_SSE_MASK, false, false); - init_target_desc (tdesc, i386_expedite_regs, GDB_OSABI_NETBSD); + init_target_desc (tdesc, i386_expedite_regs); current_process ()->tdesc = tdesc; } diff --git a/gdbserver/tdesc.cc b/gdbserver/tdesc.cc index da1287abbbe..d052f43c76e 100644 --- a/gdbserver/tdesc.cc +++ b/gdbserver/tdesc.cc @@ -53,8 +53,7 @@ void target_desc::accept (tdesc_element_visitor &v) const void init_target_desc (struct target_desc *tdesc, - const char **expedite_regs, - enum gdb_osabi osabi) + const char **expedite_regs) { int offset = 0; @@ -89,8 +88,6 @@ init_target_desc (struct target_desc *tdesc, int expedite_count = 0; while (expedite_regs[expedite_count] != nullptr) tdesc->expedite_regs.push_back (expedite_regs[expedite_count++]); - - set_tdesc_osabi (tdesc, osabi); #endif } diff --git a/gdbserver/tdesc.h b/gdbserver/tdesc.h index e6cefe5af3e..4796b50b4d1 100644 --- a/gdbserver/tdesc.h +++ b/gdbserver/tdesc.h @@ -81,11 +81,10 @@ void copy_target_description (struct target_desc *dest, const struct target_desc *src); /* Initialize TDESC, and then set its expedite_regs field to - EXPEDITE_REGS and its osabi to OSABI. */ + EXPEDITE_REGS. */ void init_target_desc (struct target_desc *tdesc, - const char **expedite_regs, - enum gdb_osabi osabi); + const char **expedite_regs); /* Return the current inferior's target description. Never returns NULL. */ diff --git a/gdbserver/win32-i386-low.cc b/gdbserver/win32-i386-low.cc index 13f9aca99b1..0a761ca58ef 100644 --- a/gdbserver/win32-i386-low.cc +++ b/gdbserver/win32-i386-low.cc @@ -596,12 +596,12 @@ i386_arch_setup (void) #ifdef __x86_64__ tdesc = amd64_create_target_description (X86_XSTATE_SSE_MASK, false, false, false); - init_target_desc (tdesc, amd64_expedite_regs, WINDOWS_OSABI); + init_target_desc (tdesc, amd64_expedite_regs); win32_tdesc = tdesc; #endif tdesc = i386_create_target_description (X86_XSTATE_SSE_MASK, false, false); - init_target_desc (tdesc, i386_expedite_regs, WINDOWS_OSABI); + init_target_desc (tdesc, i386_expedite_regs); #ifdef __x86_64__ wow64_win32_tdesc = tdesc; #else diff --git a/gdbserver/win32-low.h b/gdbserver/win32-low.h index daed16a6ae6..ff997df0a66 100644 --- a/gdbserver/win32-low.h +++ b/gdbserver/win32-low.h @@ -21,7 +21,6 @@ #include #include "nat/windows-nat.h" -#include "gdbsupport/osabi.h" struct target_desc; @@ -32,12 +31,6 @@ extern const struct target_desc *win32_tdesc; extern const struct target_desc *wow64_win32_tdesc; #endif -#ifdef __CYGWIN__ -constexpr enum gdb_osabi WINDOWS_OSABI = GDB_OSABI_CYGWIN; -#else -constexpr enum gdb_osabi WINDOWS_OSABI = GDB_OSABI_WINDOWS; -#endif - struct win32_target_ops { /* Architecture-specific setup. */