diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/osabi.c | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 94263bc..96e274f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2002-07-04 Mark Kettenis <kettenis@gnu.org> + + * osabi.c (generic_elf_osabi_sniffer): Add check for FreeBSD 3.x's + traditonal string branding within the ELF header. + 2002-07-04 Daniel Jacobowitz <drow@mvista.com> * symtab.c (remove_params): New function. diff --git a/gdb/osabi.c b/gdb/osabi.c index 1e122b8..c152cb4 100644 --- a/gdb/osabi.c +++ b/gdb/osabi.c @@ -408,6 +408,15 @@ generic_elf_osabi_sniffer (bfd *abfd) break; } + if (osabi == GDB_OSABI_UNKNOWN) + { + /* The FreeBSD folks have been naughty; they stored the string + "FreeBSD" in the padding of the e_ident field of the ELF + header to "brand" their ELF binaries in FreeBSD 3.x. */ + if (strcmp (&elf_elfheader (abfd)->e_ident[8], "FreeBSD") == 0) + osabi = GDB_OSABI_FREEBSD_ELF; + } + return osabi; } |