aboutsummaryrefslogtreecommitdiff
path: root/gdb/solib.c
diff options
context:
space:
mode:
authorVladimir Prus <vladimir@codesourcery.com>2008-01-07 15:19:58 +0000
committerVladimir Prus <vladimir@codesourcery.com>2008-01-07 15:19:58 +0000
commita7c02bc8e11894a2c8ac3f834961f214229a4d51 (patch)
tree966dda90f1fa480b7e9b4648f5c559f85ca3e02d /gdb/solib.c
parent2dd3e587bdab39d73086c35be60399e096d48b46 (diff)
downloadgdb-a7c02bc8e11894a2c8ac3f834961f214229a4d51.zip
gdb-a7c02bc8e11894a2c8ac3f834961f214229a4d51.tar.gz
gdb-a7c02bc8e11894a2c8ac3f834961f214229a4d51.tar.bz2
Ignore change in name of dynamic linker during
execution, on Solaris. This also unbreaks pending breakpoints. * solist.h (struct target_so_ops): New field same. * solib-svr4.c (svr4_same): New. (_initialize_svr4_solib): Register svr4_same. * solib.c (update_solib_list): Use ops->same, if available.
Diffstat (limited to 'gdb/solib.c')
-rw-r--r--gdb/solib.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/gdb/solib.c b/gdb/solib.c
index 815ab29..69680b4 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -538,8 +538,16 @@ update_solib_list (int from_tty, struct target_ops *target)
the inferior's current list. */
while (i)
{
- if (! strcmp (gdb->so_original_name, i->so_original_name))
- break;
+ if (ops->same)
+ {
+ if (ops->same (gdb, i))
+ break;
+ }
+ else
+ {
+ if (! strcmp (gdb->so_original_name, i->so_original_name))
+ break;
+ }
i_link = &i->next;
i = *i_link;