diff options
author | Daniel Jacobowitz <drow@false.org> | 2007-10-09 17:59:01 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2007-10-09 17:59:01 +0000 |
commit | 2ec9a4f8d14053325856abcd5eb8c1b967bc1b1d (patch) | |
tree | 396707d99ef3b5d15a7b8cb9442c02cb6fa3d8b2 /gdb/solib-svr4.c | |
parent | e2aacd2c759620f4d18142f811c916adcf6fb7b4 (diff) | |
download | gdb-2ec9a4f8d14053325856abcd5eb8c1b967bc1b1d.zip gdb-2ec9a4f8d14053325856abcd5eb8c1b967bc1b1d.tar.gz gdb-2ec9a4f8d14053325856abcd5eb8c1b967bc1b1d.tar.bz2 |
* solib-svr4.c (enable_break): Add the dynamic linker also if
auxv succeeds.
* gdb.server/server-run.exp: Test for dynamic linker symbols.
Diffstat (limited to 'gdb/solib-svr4.c')
-rw-r--r-- | gdb/solib-svr4.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c index 702e6f6..c6dfe2e 100644 --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c @@ -986,6 +986,7 @@ enable_break (void) char *buf; CORE_ADDR load_addr = 0; int load_addr_found = 0; + int loader_found_in_list = 0; struct so_list *so; bfd *tmp_bfd = NULL; struct target_ops *tmp_bfd_target; @@ -1038,6 +1039,7 @@ enable_break (void) if (strcmp (buf, so->so_original_name) == 0) { load_addr_found = 1; + loader_found_in_list = 1; load_addr = LM_ADDR_CHECK (so, tmp_bfd); break; } @@ -1058,9 +1060,11 @@ enable_break (void) fallback method because it has actually been working well in most cases. */ if (!load_addr_found) + load_addr = (read_pc () + - exec_entry_point (tmp_bfd, tmp_bfd_target)); + + if (!loader_found_in_list) { - load_addr = (read_pc () - - exec_entry_point (tmp_bfd, tmp_bfd_target)); debug_loader_name = xstrdup (buf); debug_loader_offset_p = 1; debug_loader_offset = load_addr; |