aboutsummaryrefslogtreecommitdiff
path: root/gdb/osabi.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/osabi.c')
-rw-r--r--gdb/osabi.c9
1 files changed, 9 insertions, 0 deletions
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;
}