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]

Re: [RFA] win32: bfd_cache_close after kill


Andrew Cagney (cagney@gnu.org):


>>When the inferior is killed, it is safe the release the different file

>>>handles that BFD keeps open. It is particularly useful on Win32 (and
>>>presumably on HP UX) to be able to recompile and restart a new debugging
>>>session without quitting GDB...

>
>

Can it now go in the symbol-table reader that opened the file?


I finally had time (at last!) to complete the implementation. New patch in
attachment. Still no regression on i686 linux. OK to apply?

Just a few tweaks. Assuming there are still no regressions it's ok for mainline.


2004-07-29 Jerome Guitton <guitton@gnat.com>

	* inflow.c (kill_command): release file handles in BFD.
	* exec.c (exec_file_attach): release exec_bfd file handle.
	* symfile.c (symbol_file_add_with_addrs_or_offsets): release
	bfd file handle.
	* Makefile.in: Update inflow.c's dependencies.

Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.596
diff -u -p -r1.596 Makefile.in
--- Makefile.in	23 Jul 2004 10:33:36 -0000	1.596
+++ Makefile.in	29 Jul 2004 13:48:09 -0000
@@ -1974,7 +1974,7 @@ inf-loop.o: inf-loop.c $(defs_h) $(infer
 	$(event_top_h) $(inf_loop_h) $(remote_h)
 inflow.o: inflow.c $(defs_h) $(frame_h) $(inferior_h) $(command_h) \
 	$(serial_h) $(terminal_h) $(target_h) $(gdbthread_h) $(gdb_string_h) \
-	$(inflow_h)
+	$(inflow_h) $(bfd_h)

"defs.h" includes "bfd.h" so this shouldn't be needed (same for the added #include "bfd.h" further down.



Index: exec.c
===================================================================
RCS file: /cvs/src/src/gdb/exec.c,v
retrieving revision 1.38
diff -u -p -r1.38 exec.c
--- exec.c	26 Jul 2004 14:52:59 -0000	1.38
+++ exec.c	29 Jul 2004 13:48:09 -0000
@@ -270,6 +270,8 @@ exec_file_attach (char *filename, int fr
       if (deprecated_exec_file_display_hook)
 	(*deprecated_exec_file_display_hook) (filename);
     }
+  if (exec_bfd)
+    bfd_cache_close (exec_bfd);

Just call bfd_cache_close_all ()?


}
/* Process the first arg in ARGS as the new exec file.
Index: inflow.c
===================================================================
RCS file: /cvs/src/src/gdb/inflow.c,v
retrieving revision 1.22
diff -u -p -r1.22 inflow.c
--- inflow.c 28 Apr 2004 16:36:25 -0000 1.22
+++ inflow.c 29 Jul 2004 13:48:09 -0000
@@ -21,6 +21,7 @@
Boston, MA 02111-1307, USA. */
#include "defs.h"
+#include "bfd.h"

See above.


Again bfd_cache_close_all()?

+ bfd_cache_close (abfd);

Andrew




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