From: Mark Kettenis Date: Sat, 15 Jun 2002 18:49:52 +0000 (+0000) Subject: * i386-sol2-tdep.c (i386_sol2_osabi_sniffer): New function. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6e157172af6003a98be673ce19ea9d5386bd184b;p=binutils-gdb.git * i386-sol2-tdep.c (i386_sol2_osabi_sniffer): New function. (_initialize_i386_sol2_tdep): Register i386_sol2_osabi_sniffer. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 987c8856eea..726e41537b4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2002-06-15 Mark Kettenis + + * i386-sol2-tdep.c (i386_sol2_osabi_sniffer): New function. + (_initialize_i386_sol2_tdep): Register i386_sol2_osabi_sniffer. + 2002-06-15 Andrew Cagney * defs.h (auto_boolean): Declare enum. diff --git a/gdb/i386-sol2-tdep.c b/gdb/i386-sol2-tdep.c index 714f5db9b36..206e85cfe72 100644 --- a/gdb/i386-sol2-tdep.c +++ b/gdb/i386-sol2-tdep.c @@ -48,12 +48,27 @@ i386_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) } +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); }