aboutsummaryrefslogtreecommitdiff
path: root/gdb/solib.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/solib.c')
-rw-r--r--gdb/solib.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/gdb/solib.c b/gdb/solib.c
index a2f4c81..853fab8 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -493,7 +493,8 @@ update_solib_list (int from_tty, struct target_ops *target)
SYNOPSIS
- void solib_add (char *pattern, int from_tty, struct target_ops *TARGET)
+ void solib_add (char *pattern, int from_tty, struct target_ops
+ *TARGET, int readsyms)
DESCRIPTION
@@ -501,10 +502,13 @@ update_solib_list (int from_tty, struct target_ops *target)
match PATTERN. (If we've already read a shared object's symbol
info, leave it alone.) If PATTERN is zero, read them all.
+ If READSYMS is 0, defer reading symbolic information until later
+ but still do any needed low level processing.
+
FROM_TTY and TARGET are as described for update_solib_list, above. */
void
-solib_add (char *pattern, int from_tty, struct target_ops *target)
+solib_add (char *pattern, int from_tty, struct target_ops *target, int readsyms)
{
struct so_list *gdb;
@@ -536,7 +540,7 @@ solib_add (char *pattern, int from_tty, struct target_ops *target)
printf_unfiltered ("Symbols already loaded for %s\n",
gdb->so_name);
}
- else
+ else if (readsyms)
{
if (catch_errors
(symbol_add_stub, gdb,
@@ -806,7 +810,7 @@ static void
sharedlibrary_command (char *args, int from_tty)
{
dont_repeat ();
- solib_add (args, from_tty, (struct target_ops *) 0);
+ solib_add (args, from_tty, (struct target_ops *) 0, 1);
}
/* LOCAL FUNCTION