public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  archer-gbenson-stap-rtld: Update ChangeLog
@ 2011-06-06 11:03 gary
  0 siblings, 0 replies; only message in thread
From: gary @ 2011-06-06 11:03 UTC (permalink / raw)
  To: archer-commits

The branch, archer-gbenson-stap-rtld has been updated
       via  c6eb0e22811cf3098455ab9454038c8eaf74b7b6 (commit)
       via  4589f2e9b528274d0cfde4fd964f0f16a0369423 (commit)
      from  ef5485e2bda764bf857e364521b4a05e4dbd55cc (commit)

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

- Log -----------------------------------------------------------------
commit c6eb0e22811cf3098455ab9454038c8eaf74b7b6
Author: Gary Benson <gbenson@redhat.com>
Date:   Mon Jun 6 12:02:58 2011 +0100

    Update ChangeLog

commit 4589f2e9b528274d0cfde4fd964f0f16a0369423
Author: Gary Benson <gbenson@redhat.com>
Date:   Mon Jun 6 11:56:59 2011 +0100

    I don't like this

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

Summary of changes:
 gdb/ChangeLog    |   15 +++++++++++++++
 gdb/solib-svr4.c |   21 +++++++++++----------
 2 files changed, 26 insertions(+), 10 deletions(-)

First 500 lines of diff:
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 6a130b6..2490967 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,18 @@
+2011-06-06  Gary Benson  <gbenson@redhat.com>
+
+	* infrun.c (set_stop_on_solib_events): New function.
+	(_initialize_infrun): Call the above when stop_on_solib_events is set.
+	* solib.h (update_solib_breakpoints): New method declaration.
+	* solib.c (update_solib_breakpoints): New method.
+	* solist.h (target_so_ops): New field update_breakpoints.
+	* solib-svr4.c (svr4_info): New fields pre_mod_probe and post_mod_probe.
+	(svr4_update_solib_event_breakpoint): New function.
+	(svr4_update_solib_event_breakpoints): Likewise.
+	(svr4_create_solib_event_breakpoints): Likewise.
+	(enable_break): Use svr4_create_solib_event_breakpoints instead of
+	create_solib_event_breakpoint to create solib event breakpoints.
+	(_initialize_svr4_solib): Initialize svr4_so_ops.update_breakpoints.
+
 2011-05-09  Doug Evans  <dje@google.com>
 
 	* NEWS: Mention --with-iconv-bin.
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index d945ff2..dd49c59 100644
--- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c
@@ -338,10 +338,8 @@ struct svr4_info
   CORE_ADDR interp_plt_sect_low;
   CORE_ADDR interp_plt_sect_high;
 
-  /* SystemTap probes, and their breakpoints where required.  */
+  /* SystemTap probes.  */
   const struct stap_probe *pre_mod_probe;
-  struct breakpoint *pre_mod_breakpoint;
-
   const struct stap_probe *post_mod_probe;
 };
 
@@ -1324,11 +1322,16 @@ static int
 svr4_update_solib_event_breakpoint (struct breakpoint *b, void *arg)
 {
   struct svr4_info *info = get_svr4_info ();
+  struct bp_location *loc;
 
-  if (b == info->pre_mod_breakpoint)
+  for (loc = b->loc; loc; loc = loc->next)
     {
-      b->enable_state = stop_on_solib_events;
-      return 1;
+      if (loc->pspace == current_program_space
+	  && loc->address == info->pre_mod_probe->address)
+	{
+	  b->enable_state = stop_on_solib_events;
+	  return 1;
+	}
     }
 
   return 0;
@@ -1376,9 +1379,8 @@ svr4_create_solib_event_breakpoints (struct gdbarch *gdbarch, CORE_ADDR address)
 	  /* The pre-modification probe is triggered before a link map
 	     is changed.  This probe isn't used internally, so we only
 	     break on it when stop-on-solib-events is on.  */
-	  info->pre_mod_breakpoint =
-	    create_solib_event_breakpoint (gdbarch,
-					   info->pre_mod_probe->address);
+	  create_solib_event_breakpoint (gdbarch,
+					 info->pre_mod_probe->address);
 
 	  /* The post-modification probe is triggered whenever a link
 	     map has been changed.  We always need to break on this
@@ -1450,7 +1452,6 @@ enable_break (struct svr4_info *info, int from_tty)
 
   info->interp_text_sect_low = info->interp_text_sect_high = 0;
   info->interp_plt_sect_low = info->interp_plt_sect_high = 0;
-  info->pre_mod_breakpoint = NULL;
 
   /* If we already have a shared library list in the target, and
      r_debug contains r_brk, set the breakpoint there - this should


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


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

only message in thread, other threads:[~2011-06-06 11:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-06 11:03 [SCM] archer-gbenson-stap-rtld: Update ChangeLog gary

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).