mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-30 15:30:41 +00:00
MIPS: Don't infer IRIX OS ABI from generic section names
There are `.MIPS.abiflags', `.MIPS.options' and `.MIPS.stubs' sections also present in Linux executables, so we can't infer IRIX OS ABI solely from the existence of these sections. This is not going to be a problem as there are bound to be other sections whose names start with `.MIPS.' in IRIX executables and this selection only matters for a non-default OS ABI in a multiple-target GDB executable. As a last resort the automatic selection can be overridden with `set osabi'. * mips-irix-tdep.c (mips_irix_elf_osabi_sniff_abi_tag_sections): Exclude `.MIPS.abiflags', `.MIPS.options' and `.MIPS.stubs' from the list of sections determining GDB_OSABI_IRIX.
This commit is contained in:
parent
a1ada89ac6
commit
6e46637421
@ -1,3 +1,9 @@
|
||||
2014-09-09 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* mips-irix-tdep.c (mips_irix_elf_osabi_sniff_abi_tag_sections):
|
||||
Exclude `.MIPS.abiflags', `.MIPS.options' and `.MIPS.stubs' from
|
||||
the list of sections determining GDB_OSABI_IRIX.
|
||||
|
||||
2014-09-09 James Hogan <james.hogan@imgtec.com>
|
||||
|
||||
* MAINTAINERS (Write After Approval): Add "James Hogan".
|
||||
|
@ -38,12 +38,16 @@ mips_irix_elf_osabi_sniff_abi_tag_sections (bfd *abfd, asection *sect,
|
||||
name = bfd_get_section_name (abfd, sect);
|
||||
sectsize = bfd_section_size (abfd, sect);
|
||||
|
||||
if (strncmp (name, ".MIPS.", 6) == 0 && sectsize > 0)
|
||||
{
|
||||
/* The presence of a section named with a ".MIPS." prefix is
|
||||
indicative of an IRIX binary. */
|
||||
*os_ident_ptr = GDB_OSABI_IRIX;
|
||||
}
|
||||
/* The presence of a section named with a ".MIPS." prefix is usually
|
||||
indicative of an IRIX binary, however there are exceptions that
|
||||
are present universally, so check for those names and avoid
|
||||
switching away from the default OS ABI in the case of a match. */
|
||||
if (strncmp (name, ".MIPS.", 6) == 0
|
||||
&& strcmp (name, ".MIPS.abiflags") != 0
|
||||
&& strcmp (name, ".MIPS.options") != 0
|
||||
&& strcmp (name, ".MIPS.stubs") != 0
|
||||
&& sectsize > 0)
|
||||
*os_ident_ptr = GDB_OSABI_IRIX;
|
||||
}
|
||||
|
||||
static enum gdb_osabi
|
||||
|
Loading…
Reference in New Issue
Block a user