This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Recognise Solaris i386 binaries


This should recognise binaries created with the vendor tools.
Probably doesn't cover stuff created with GNU ld.

Checked in.

Mark

Index: ChangeLog
from  Mark Kettenis  <kettenis@gnu.org>

	* i386-sol2-tdep.c (i386_sol2_osabi_sniffer): New function.
	(_initialize_i386_sol2_tdep): Register i386_sol2_osabi_sniffer.

Index: i386-sol2-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/i386-sol2-tdep.c,v
retrieving revision 1.1
diff -u -p -r1.1 i386-sol2-tdep.c
--- i386-sol2-tdep.c 14 Jun 2002 19:42:19 -0000 1.1
+++ i386-sol2-tdep.c 15 Jun 2002 18:45:43 -0000
@@ -48,12 +48,27 @@ i386_sol2_init_abi (struct gdbarch_info 
 }
 
 
+static enum gdb_osabi
+i386_sol2_osabi_sniffer (bfd *abfd)
+{
+  /* If we have a section named .SUNW_version, then it is almost
+     certainly Solaris 2.  */
+  if (bfd_get_section_by_name (abfd, ".SUNW_version"))
+    return GDB_OSABI_SOLARIS;
+
+  return GDB_OSABI_UNKNOWN;
+}
+
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 void _initialize_i386_sol2_tdep (void);
 
 void
 _initialize_i386_sol2_tdep (void)
 {
+  /* Register and ELF OS ABI sniffer for Solaris 2 binaries.  */
+  gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_elf_flavour,
+				  i386_sol2_osabi_sniffer);
+
   gdbarch_register_osabi (bfd_arch_i386, GDB_OSABI_SOLARIS,
 			  i386_sol2_init_abi);
 }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]