* objfiles.c (init_entry_point_info): Handle shared libraries.
authorDaniel Jacobowitz <drow@false.org>
Fri, 2 May 2008 20:35:39 +0000 (20:35 +0000)
committerDaniel Jacobowitz <drow@false.org>
Fri, 2 May 2008 20:35:39 +0000 (20:35 +0000)
gdb/ChangeLog
gdb/objfiles.c

index d3bdbccff3ee3ec8ec1f5d5efca50bae3441f416..e349f77951111981b2e04cc98abb4536a5dd1dfa 100644 (file)
@@ -1,3 +1,7 @@
+2008-05-02  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * objfiles.c (init_entry_point_info): Handle shared libraries.
+
 2008-05-02  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * arm-tdep.c (arm_prologue_this_id): Compare pc, not func, to
index b7d578f956de611a828d604939ebc99f30267842..0234dcec7d4404974e0ef8c62408aad5548a945e 100644 (file)
@@ -259,6 +259,12 @@ init_entry_point_info (struct objfile *objfile)
          the startup file because it contains the entry point.  */
       objfile->ei.entry_point = bfd_get_start_address (objfile->obfd);
     }
+  else if (bfd_get_file_flags (objfile->obfd) & DYNAMIC
+          && bfd_get_start_address (objfile->obfd) != 0)
+    /* Some shared libraries may have entry points set and be
+       runnable.  There's no clear way to indicate this, so just check
+       for values other than zero.  */
+    objfile->ei.entry_point = bfd_get_start_address (objfile->obfd);    
   else
     {
       /* Examination of non-executable.o files.  Short-circuit this stuff.  */