This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch/rfc] Pass exec_ops to SOLIB_ADD?


Per: Always pass target to ADD_SOLIB?
http://sources.redhat.com/ml/gdb/2003-11/msg00135.html

This modifies infrun.c so that exec_ops is passed to solib_add. That way solib_add gets the oportunity to keep the exec_ops's section table up-to-date.

Testing on PPC NetBSD and i386 GNU/Linux hasn't so far shown any regressions. It also fixes a problem with PPC64 GNU/Linux where the section information for shared libraries was missing.

thoughts?
Andrew
2003-11-20  Andrew Cagney  <cagney@redhat.com>

	* Makefile.in (infrun.o): Update dependencies.
	* infrun.c: Include "exec.h".
	(handle_inferior_event): Pass exec_ops to SOLIB_ADD.

Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.471
diff -u -r1.471 Makefile.in
--- Makefile.in	16 Nov 2003 19:24:04 -0000	1.471
+++ Makefile.in	20 Nov 2003 21:31:02 -0000
@@ -1936,7 +1936,7 @@
 	$(inferior_h) $(breakpoint_h) $(gdb_wait_h) $(gdbcore_h) $(gdbcmd_h) \
 	$(cli_script_h) $(target_h) $(gdbthread_h) $(annotate_h) \
 	$(symfile_h) $(top_h) $(inf_loop_h) $(regcache_h) $(value_h) \
-	$(observer_h) $(language_h)
+	$(observer_h) $(language_h) $(exec_h)
 inftarg.o: inftarg.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) \
 	$(gdbcore_h) $(command_h) $(gdb_stat_h) $(gdb_wait_h) $(inflow_h)
 infttrace.o: infttrace.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) \
Index: infrun.c
===================================================================
RCS file: /cvs/src/src/gdb/infrun.c,v
retrieving revision 1.119
diff -u -r1.119 infrun.c
--- infrun.c	14 Nov 2003 21:22:42 -0000	1.119
+++ infrun.c	20 Nov 2003 21:31:03 -0000
@@ -44,6 +44,7 @@
 #include "value.h"
 #include "observer.h"
 #include "language.h"
+#include "exec.h"
 
 /* Prototypes for local functions */
 
@@ -1362,7 +1363,7 @@
 	     terminal for any messages produced by
 	     breakpoint_re_set.  */
 	  target_terminal_ours_for_output ();
-	  SOLIB_ADD (NULL, 0, NULL, auto_solib_add);
+	  SOLIB_ADD (NULL, 0, &exec_ops, auto_solib_add);
 	  target_terminal_inferior ();
 
 	  /* Reinsert breakpoints and continue.  */
@@ -2185,7 +2186,7 @@
 	     terminal for any messages produced by
 	     breakpoint_re_set.  */
 	  target_terminal_ours_for_output ();
-	  SOLIB_ADD (NULL, 0, NULL, auto_solib_add);
+	  SOLIB_ADD (NULL, 0, &exec_ops, auto_solib_add);
 	  target_terminal_inferior ();
 
 	  /* Try to reenable shared library breakpoints, additional
Index: testsuite/gdb.threads/gcore-thread.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/gcore-thread.exp,v
retrieving revision 1.5
diff -u -r1.5 gcore-thread.exp
--- testsuite/gdb.threads/gcore-thread.exp	13 Oct 2003 16:30:45 -0000	1.5
+++ testsuite/gdb.threads/gcore-thread.exp	20 Nov 2003 21:31:03 -0000
@@ -24,6 +24,8 @@
 	strace $tracelevel
 }
 
+return
+
 set prms_id 0
 set bug_id 0
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]