OSDN Git Service

* osabi.c (generic_elf_osabi_sniffer): Add check for FreeBSD 3.x's
authorkettenis <kettenis>
Thu, 4 Jul 2002 15:36:50 +0000 (15:36 +0000)
committerkettenis <kettenis>
Thu, 4 Jul 2002 15:36:50 +0000 (15:36 +0000)
traditonal string branding within the ELF header.

gdb/ChangeLog
gdb/osabi.c

index 94263bc..96e274f 100644 (file)
@@ -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.
index 1e122b8..c152cb4 100644 (file)
@@ -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;
 }
 \f