Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [Patch] arch recognition fix for osabi.c
@ 2003-06-17 15:40 Kris Warkentin
  2003-06-17 15:51 ` Daniel Jacobowitz
  0 siblings, 1 reply; 13+ messages in thread
From: Kris Warkentin @ 2003-06-17 15:40 UTC (permalink / raw)
  To: Gdb-Patches@Sources.Redhat.Com

Here are some changes to osabi.c that allow gdb to recognize QNX binaries
properly.  The arch check change in gdbarch_init_osabi() allows the backend
abi_init handlers to run.  I believe the comment still stand - we will
probably want to do something smarter in the future.

The sniff change is only temporary.  It works reasonably well for now and
will probably stay for backwards compatability but we are also going to add
a special .note section like others OSes in the future.  Then we can check
for both.

cheers,

Kris

Changelog:
    * osabi.c (gdbarch_init_osabi): Just check arch for compatability rather
identicality.
      (generic_elf_osabi_sniff_abi_tag_sections): Add check for QNX Neutrino
binaries.


Index: osabi.c
===================================================================
RCS file: /cvs/src/src/gdb/osabi.c,v
retrieving revision 1.15
diff -u -r1.15 osabi.c
--- osabi.c 8 Jun 2003 18:27:14 -0000 1.15
+++ osabi.c 17 Jun 2003 15:32:53 -0000
@@ -311,8 +311,7 @@
   type that is compatible with the desired machine type.  Right
   now we simply return the first match, which is fine for now.
   However, we might want to do something smarter in the future.  */
-      compatible = arch_info->compatible (arch_info, handler->arch_info);
-      if (compatible == handler->arch_info)
+      if(arch_info->compatible (arch_info, handler->arch_info))
  {
    (*handler->init_osabi) (info, gdbarch);
    return;
@@ -430,6 +429,17 @@
       necessary yet.  */
    *os_ident_ptr = GDB_OSABI_NETBSD_ELF;
  }
+      return;
+    }
+
+  /* QNX Neutrino has ldqnx.so as its linker.  */
+  if (strcmp (name, ".interp") == 0 && sectsize > 0)
+    {
+      char *buf = alloca(sectsize);
+      bfd_get_section_contents(abfd, sect, buf, 0, sectsize);
+      buf[sectsize] = '\0'; /* Safety first boys and girls.  */
+      if(strstr(buf, "ldqnx.so"))
+        *os_ident_ptr = GDB_OSABI_QNXNTO;
       return;
     }
 }



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2003-07-18 14:19 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-06-17 15:40 [Patch] arch recognition fix for osabi.c Kris Warkentin
2003-06-17 15:51 ` Daniel Jacobowitz
2003-06-17 16:04   ` Kris Warkentin
2003-06-19 12:25     ` Kris Warkentin
2003-06-19 13:18       ` Daniel Jacobowitz
2003-06-19 14:48         ` Kris Warkentin
2003-06-19 19:09     ` Daniel Jacobowitz
2003-06-19 22:10       ` Kevin Buettner
2003-07-11 15:04       ` [ping] " Kris Warkentin
2003-07-11 16:27         ` Mark Kettenis
2003-07-11 16:32           ` Daniel Jacobowitz
2003-07-18 14:13           ` Andrew Cagney
2003-07-18 14:19             ` Daniel Jacobowitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox