From 5337bd558beaa4f86b7cf9855ffee766754b3b42 Mon Sep 17 00:00:00 2001 From: David Taylor Date: Tue, 19 Jan 1999 16:20:39 +0000 Subject: [PATCH] disable_breakpoints_in_shlibs now takes a new parameter -- silent; callers updated. new callers -- clear_solib (irix5-nat.c, osfsolib.c, solib.c). PR 16495 / PR 18213. --- gdb/ChangeLog | 10 ++++++++++ gdb/breakpoint.c | 22 +++++++++++++--------- gdb/breakpoint.h | 2 +- gdb/irix5-nat.c | 2 ++ gdb/osfsolib.c | 4 +++- gdb/solib.c | 4 +++- gdb/somsolib.c | 2 +- 7 files changed, 33 insertions(+), 13 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b6b9ab9..222d327 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,15 @@ Tue Jan 19 10:27:23 1999 David Taylor + * breakpoint.c (disable_breakpoints_in_shlibs): new parameter, + silent, controls whether to print message about removal of shared + library breakpoints. + * breakpoint.h (disable_breakpoints_in_shlibs): decl updated. + * irix5-nat.c (clear_solib): call disable_breakpoints_in_shlibs. + * osfsolib.c (clear_solib): ditto. + * solib.c (clear_solib): ditto. + * somsolib.c (som_solib_restart): update call to + disable_breakpoints_in_shlibs. + * target.h (child_post_attach): only declare if CHILD_POST_ATTACH is define. diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index bcee5f9..8ca2916 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -3122,7 +3122,8 @@ create_solib_event_breakpoint (address) } void -disable_breakpoints_in_shlibs () +disable_breakpoints_in_shlibs (silent) + int silent; { struct breakpoint * b; int disabled_shlib_breaks = 0; @@ -3139,17 +3140,20 @@ disable_breakpoints_in_shlibs () PC_SOLIB (b->address)) { b->enable = shlib_disabled; - if (!disabled_shlib_breaks) - { - target_terminal_ours_for_output (); - printf_filtered ("Temporarily disabling shared library breakpoints:\n"); - } - disabled_shlib_breaks = 1; - printf_filtered ("%d ", b->number); + if (!silent) + { + if (!disabled_shlib_breaks) + { + target_terminal_ours_for_output (); + printf_filtered ("Temporarily disabling shared library breakpoints:\n"); + } + disabled_shlib_breaks = 1; + printf_filtered ("%d ", b->number); + } } #endif } - if (disabled_shlib_breaks) + if (disabled_shlib_breaks && !silent) printf_filtered ("\n"); } diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index 0b6fff5..787ac55 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -577,7 +577,7 @@ extern void create_solib_event_breakpoint PARAMS ((CORE_ADDR)); extern void remove_solib_event_breakpoints PARAMS ((void)); -extern void disable_breakpoints_in_shlibs PARAMS ((void)); +extern void disable_breakpoints_in_shlibs PARAMS ((int silent)); extern void re_enable_breakpoints_in_shlibs PARAMS ((void)); diff --git a/gdb/irix5-nat.c b/gdb/irix5-nat.c index 9a2379d..fc558e6 100644 --- a/gdb/irix5-nat.c +++ b/gdb/irix5-nat.c @@ -1083,6 +1083,8 @@ clear_solib() struct so_list *next; char *bfd_filename; + disable_breakpoints_in_shlibs (1); + while (so_list_head) { if (so_list_head -> sections) diff --git a/gdb/osfsolib.c b/gdb/osfsolib.c index 0bed522..1d8be2c 100644 --- a/gdb/osfsolib.c +++ b/gdb/osfsolib.c @@ -835,6 +835,8 @@ clear_solib() struct so_list *next; char *bfd_filename; + disable_breakpoints_in_shlibs (1); + while (so_list_head) { if (so_list_head -> sections) @@ -851,7 +853,7 @@ clear_solib() else /* This happens for the executable on SVR4. */ bfd_filename = NULL; - + next = so_list_head -> next; if (bfd_filename) free ((PTR)bfd_filename); diff --git a/gdb/solib.c b/gdb/solib.c index 3709469..c8a8ce7 100644 --- a/gdb/solib.c +++ b/gdb/solib.c @@ -1311,6 +1311,8 @@ clear_solib() struct so_list *next; char *bfd_filename; + disable_breakpoints_in_shlibs (1); + while (so_list_head) { if (so_list_head -> sections) @@ -1327,7 +1329,7 @@ clear_solib() else /* This happens for the executable on SVR4. */ bfd_filename = NULL; - + next = so_list_head -> next; if (bfd_filename) free ((PTR)bfd_filename); diff --git a/gdb/somsolib.c b/gdb/somsolib.c index 904ddf1..828eea3 100644 --- a/gdb/somsolib.c +++ b/gdb/somsolib.c @@ -1556,7 +1556,7 @@ som_solib_restart () /* Before the shlib info vanishes, use it to disable any breakpoints that may still be active in those shlibs. */ - disable_breakpoints_in_shlibs (); + disable_breakpoints_in_shlibs (0); /* Discard all the shlib descriptors. */ -- 2.7.4