Thu Aug 17 14:52:53 2023 UTC ()
gdb/m68k: Do not fall back to EABI for NetBSD

gdb 13 falls back to newly-introduced m68k EABI, if ELFOSABI_NONE ==
ELFOSABI_SYSV == 0 is indicated in ELF header. This breaks everything
for NetBSD binaries.


(rin)
diff -r1.1.1.9 -r1.2 src/external/gpl3/gdb/dist/gdb/m68k-tdep.c

cvs diff -r1.1.1.9 -r1.2 src/external/gpl3/gdb/dist/gdb/m68k-tdep.c (expand / switch to unified diff)

--- src/external/gpl3/gdb/dist/gdb/m68k-tdep.c 2023/07/30 22:44:51 1.1.1.9
+++ src/external/gpl3/gdb/dist/gdb/m68k-tdep.c 2023/08/17 14:52:53 1.2
@@ -1334,30 +1334,34 @@ static void @@ -1334,30 +1334,34 @@ static void
1334m68k_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file) 1334m68k_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file)
1335{ 1335{
1336 m68k_gdbarch_tdep *tdep = gdbarch_tdep<m68k_gdbarch_tdep> (gdbarch); 1336 m68k_gdbarch_tdep *tdep = gdbarch_tdep<m68k_gdbarch_tdep> (gdbarch);
1337 1337
1338 if (tdep == NULL) 1338 if (tdep == NULL)
1339 return; 1339 return;
1340} 1340}
1341 1341
1342/* OSABI sniffer for m68k. */ 1342/* OSABI sniffer for m68k. */
1343 1343
1344static enum gdb_osabi 1344static enum gdb_osabi
1345m68k_osabi_sniffer (bfd *abfd) 1345m68k_osabi_sniffer (bfd *abfd)
1346{ 1346{
 1347 /* XXX NetBSD uses ELFOSABI_NONE == ELFOSABI_SYSV. Therefore, do not
 1348 fall back to EABI here. */
 1349#ifndef __NetBSD__
1347 unsigned int elfosabi = elf_elfheader (abfd)->e_ident[EI_OSABI]; 1350 unsigned int elfosabi = elf_elfheader (abfd)->e_ident[EI_OSABI];
1348 1351
1349 if (elfosabi == ELFOSABI_NONE) 1352 if (elfosabi == ELFOSABI_NONE)
1350 return GDB_OSABI_SVR4; 1353 return GDB_OSABI_SVR4;
 1354#endif
1351 1355
1352 return GDB_OSABI_UNKNOWN; 1356 return GDB_OSABI_UNKNOWN;
1353} 1357}
1354 1358
1355void _initialize_m68k_tdep (); 1359void _initialize_m68k_tdep ();
1356void 1360void
1357_initialize_m68k_tdep () 1361_initialize_m68k_tdep ()
1358{ 1362{
1359 gdbarch_register (bfd_arch_m68k, m68k_gdbarch_init, m68k_dump_tdep); 1363 gdbarch_register (bfd_arch_m68k, m68k_gdbarch_init, m68k_dump_tdep);
1360 1364
1361 gdbarch_register_osabi_sniffer (bfd_arch_m68k, bfd_target_elf_flavour, 1365 gdbarch_register_osabi_sniffer (bfd_arch_m68k, bfd_target_elf_flavour,
1362 m68k_osabi_sniffer); 1366 m68k_osabi_sniffer);
1363 gdbarch_register_osabi (bfd_arch_m68k, 0, GDB_OSABI_SVR4, 1367 gdbarch_register_osabi (bfd_arch_m68k, 0, GDB_OSABI_SVR4,