? .git ? 0001-Remove-CLEAR_SOLIB-use.patch ? 0002-Remove-run_cleanup.patch ? 0003-Prevent-clear_command-from-directly-modifying-breakp.patch ? A.diff ? clear_solib_final.diff ? run_cleanup_final.diff Index: ChangeLog =================================================================== RCS file: /cvs/src/src/ChangeLog,v retrieving revision 1.770 diff -u -p -r1.770 ChangeLog --- ChangeLog 15 Nov 2007 06:14:25 -0000 1.770 +++ ChangeLog 15 Nov 2007 06:23:16 -0000 @@ -1,5 +1,20 @@ 2007-10-15 Vladimir Prus + Remove 'run_cleanup'. + * defs.h (do_run_cleanups, make_run_cleanup): Remove + declarations. + * infcmd.c (run_command_1): Call clear_solib instead + of do_run_cleanups. + * jv-lang.c (java_rerun_cleanup): Remove, for lack of + any use. + * solib.c (solib_cleanup_queued, do_clear_solib): Remove. + (update_solib_lib): Don't setup run cleanup. + (no_shared_libraries): Call clear_solib, not do_clear_solib. + * utils.c (run_cleanup_chain, make_run_cleanup) + (do_run_cleanups): Remove. + +2007-10-15 Vladimir Prus + Remove CLEAR_SOLIB use. * corelow.c (core_close): Don't check for CLEAR_SOLIB. * infcmd.c (attach_command): Likewise. Index: gdb/defs.h =================================================================== RCS file: /cvs/src/src/gdb/defs.h,v retrieving revision 1.210 diff -u -p -r1.210 defs.h --- gdb/defs.h 13 Oct 2007 00:06:52 -0000 1.210 +++ gdb/defs.h 15 Nov 2007 06:23:17 -0000 @@ -347,7 +347,6 @@ extern char *safe_strerror (int); extern void do_cleanups (struct cleanup *); extern void do_final_cleanups (struct cleanup *); -extern void do_run_cleanups (struct cleanup *); extern void do_exec_cleanups (struct cleanup *); extern void do_exec_error_cleanups (struct cleanup *); @@ -383,8 +382,6 @@ extern struct cleanup *make_final_cleanu extern struct cleanup *make_my_cleanup (struct cleanup **, make_cleanup_ftype *, void *); -extern struct cleanup *make_run_cleanup (make_cleanup_ftype *, void *); - extern struct cleanup *make_exec_cleanup (make_cleanup_ftype *, void *); extern struct cleanup *make_exec_error_cleanup (make_cleanup_ftype *, void *); Index: gdb/infcmd.c =================================================================== RCS file: /cvs/src/src/gdb/infcmd.c,v retrieving revision 1.163 diff -u -p -r1.163 infcmd.c --- gdb/infcmd.c 15 Nov 2007 06:14:26 -0000 1.163 +++ gdb/infcmd.c 15 Nov 2007 06:23:17 -0000 @@ -482,7 +482,7 @@ run_command_1 (char *args, int from_tty, /* Purge old solib objfiles. */ objfile_purge_solibs (); - do_run_cleanups (NULL); + clear_solib (); /* The comment here used to read, "The exec file is re-read every time we do a generic_mourn_inferior, so we just have to worry Index: gdb/jv-lang.c =================================================================== RCS file: /cvs/src/src/gdb/jv-lang.c,v retrieving revision 1.51 diff -u -p -r1.51 jv-lang.c --- gdb/jv-lang.c 2 Nov 2007 19:34:11 -0000 1.51 +++ gdb/jv-lang.c 15 Nov 2007 06:23:18 -0000 @@ -1133,25 +1133,3 @@ _initialize_java_language (void) add_language (&java_language_defn); } - -/* Cleanup code that should be run on every "run". - We should use make_run_cleanup to have this be called. - But will that mess up values in value histry? FIXME */ - -extern void java_rerun_cleanup (void); -void -java_rerun_cleanup (void) -{ - if (class_symtab != NULL) - { - free_symtab (class_symtab); /* ??? */ - class_symtab = NULL; - } - if (dynamics_objfile != NULL) - { - free_objfile (dynamics_objfile); - dynamics_objfile = NULL; - } - - java_object_type = NULL; -} Index: gdb/solib.c =================================================================== RCS file: /cvs/src/src/gdb/solib.c,v retrieving revision 1.98 diff -u -p -r1.98 solib.c --- gdb/solib.c 24 Oct 2007 21:07:30 -0000 1.98 +++ gdb/solib.c 15 Nov 2007 06:23:19 -0000 @@ -86,12 +86,8 @@ struct target_so_ops *current_target_so_ static struct so_list *so_list_head; /* List of known shared objects */ -static int solib_cleanup_queued = 0; /* make_run_cleanup called */ - /* Local function prototypes */ -static void do_clear_solib (void *); - /* If non-empty, this is a search path for loading non-absolute shared library symbol files. This takes precedence over the environment variables PATH and LD_LIBRARY_PATH. */ @@ -506,15 +502,6 @@ update_solib_list (int from_tty, struct "Error reading attached process's symbol file.\n", RETURN_MASK_ALL); - /* Since this function might actually add some elements to the - so_list_head list, arrange for it to be cleaned up when - appropriate. */ - if (!solib_cleanup_queued) - { - make_run_cleanup (do_clear_solib, NULL); - solib_cleanup_queued = 1; - } - /* GDB and the inferior's dynamic linker each maintain their own list of currently loaded shared objects; we want to bring the former in sync with the latter. Scan both lists, seeing which @@ -866,13 +853,6 @@ clear_solib (void) ops->clear_solib (); } -static void -do_clear_solib (void *dummy) -{ - solib_cleanup_queued = 0; - clear_solib (); -} - /* GLOBAL FUNCTION solib_create_inferior_hook -- shared library startup support @@ -955,7 +935,7 @@ void no_shared_libraries (char *ignored, int from_tty) { objfile_purge_solibs (); - do_clear_solib (NULL); + clear_solib (); } static void Index: gdb/utils.c =================================================================== RCS file: /cvs/src/src/gdb/utils.c,v retrieving revision 1.181 diff -u -p -r1.181 utils.c --- gdb/utils.c 23 Aug 2007 18:08:46 -0000 1.181 +++ gdb/utils.c 15 Nov 2007 06:23:19 -0000 @@ -96,7 +96,6 @@ static void set_width (void); static struct cleanup *cleanup_chain; /* cleaned up after a failed command */ static struct cleanup *final_cleanup_chain; /* cleaned up when gdb exits */ -static struct cleanup *run_cleanup_chain; /* cleaned up on each 'run' */ static struct cleanup *exec_cleanup_chain; /* cleaned up on each execution command */ /* cleaned up on each error from within an execution command */ static struct cleanup *exec_error_cleanup_chain; @@ -210,12 +209,6 @@ make_final_cleanup (make_cleanup_ftype * } struct cleanup * -make_run_cleanup (make_cleanup_ftype *function, void *arg) -{ - return make_my_cleanup (&run_cleanup_chain, function, arg); -} - -struct cleanup * make_exec_cleanup (make_cleanup_ftype *function, void *arg) { return make_my_cleanup (&exec_cleanup_chain, function, arg); @@ -324,12 +317,6 @@ do_final_cleanups (struct cleanup *old_c } void -do_run_cleanups (struct cleanup *old_chain) -{ - do_my_cleanups (&run_cleanup_chain, old_chain); -} - -void do_exec_cleanups (struct cleanup *old_chain) { do_my_cleanups (&exec_cleanup_chain, old_chain);