aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Taylor <taylor@redhat.com>1999-01-19 16:20:39 +0000
committerDavid Taylor <taylor@redhat.com>1999-01-19 16:20:39 +0000
commit5337bd558beaa4f86b7cf9855ffee766754b3b42 (patch)
tree3131626f9e1ea84d2ab379c26ff6848b0e185001
parent9a0c4d8ca956b9b7b064d0e435fef7038880093f (diff)
downloadgdb-5337bd558beaa4f86b7cf9855ffee766754b3b42.zip
gdb-5337bd558beaa4f86b7cf9855ffee766754b3b42.tar.gz
gdb-5337bd558beaa4f86b7cf9855ffee766754b3b42.tar.bz2
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.
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/breakpoint.c22
-rw-r--r--gdb/breakpoint.h2
-rw-r--r--gdb/irix5-nat.c2
-rw-r--r--gdb/osfsolib.c4
-rw-r--r--gdb/solib.c4
-rw-r--r--gdb/somsolib.c2
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 <taylor@texas.cygnus.com>
+ * 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.
*/