aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/osabi.c9
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;
}