public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  archer-sergiodj-lazier-debuginfo-reading: Creating `solib_on_demand_load'.
@ 2011-07-12 19:16 sergiodj
  0 siblings, 0 replies; only message in thread
From: sergiodj @ 2011-07-12 19:16 UTC (permalink / raw)
  To: archer-commits

The branch, archer-sergiodj-lazier-debuginfo-reading has been updated
       via  c4a724253a9681bc5bdd821448f72ab2dc1b94c3 (commit)
      from  3695c7921fa9090469faf2497729164651a437cb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit c4a724253a9681bc5bdd821448f72ab2dc1b94c3
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Tue Jul 12 16:14:47 2011 -0300

    Creating `solib_on_demand_load'.

-----------------------------------------------------------------------

Summary of changes:
 gdb/frame.c |   10 +---------
 gdb/solib.c |   13 +++++++++++++
 gdb/solib.h |    4 ++++
 3 files changed, 18 insertions(+), 9 deletions(-)

First 500 lines of diff:
diff --git a/gdb/frame.c b/gdb/frame.c
index c601eaa..6be6ab3 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -624,8 +624,6 @@ frame_find_by_id (struct frame_id id)
 static int
 frame_unwind_pc_if_available (struct frame_info *this_frame, CORE_ADDR *pc)
 {
-  struct so_list *solib;
-
   if (!this_frame->prev_pc.p)
     {
       if (gdbarch_unwind_pc_p (frame_unwind_arch (this_frame)))
@@ -683,13 +681,7 @@ frame_unwind_pc_if_available (struct frame_info *this_frame, CORE_ADDR *pc)
 	    }
 
 	  if (auto_solib_add == SOLIB_ADD_LAZY)
-	    {
-	      /* On-demand loading of shared libraries' debuginfo.  */
-	      solib = solib_match_pc_solist (pc);
-	      if (solib && !solib->symbols_loaded)
-		solib_add (solib->so_name, 1, &current_target, 1,
-			   /*lazy_read=*/1);
-	    }
+	    solib_on_demand_load (pc);
 	}
       else
 	internal_error (__FILE__, __LINE__, _("No unwind_pc method"));
diff --git a/gdb/solib.c b/gdb/solib.c
index d402b92..dae18d4 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -899,6 +899,19 @@ libpthread_solib_p (struct so_list *so)
   return libpthread_name_p (so->so_name);
 }
 
+void
+solib_on_demand_load (CORE_ADDR pc)
+{
+  struct so_list *solib;
+
+  /* On-demand loading of shared libraries' debuginfo.  */
+  solib = solib_match_pc_solist (pc);
+
+  if (solib && !solib->symbols_loaded)
+    solib_add (solib->so_name, 0, &current_target, 1,
+	       /*lazy_read=*/1);
+}
+
 /* GLOBAL FUNCTION
 
    solib_add -- read in symbol info for newly added shared libraries
diff --git a/gdb/solib.h b/gdb/solib.h
index 93f85df..ed2be66 100644
--- a/gdb/solib.h
+++ b/gdb/solib.h
@@ -80,4 +80,8 @@ extern void set_solib_ops (struct gdbarch *gdbarch,
 
 extern int libpthread_name_p (const char *name);
 
+/* On-demand loading of shared libraries.  */
+
+extern void solib_on_demand_load (CORE_ADDR pc);
+
 #endif /* SOLIB_H */


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2011-07-12 19:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-12 19:16 [SCM] archer-sergiodj-lazier-debuginfo-reading: Creating `solib_on_demand_load' sergiodj

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).