* solib-svr4.c (enable_break): Add the dynamic linker also if

auxv succeeds.

	* gdb.server/server-run.exp: Test for dynamic linker symbols.
This commit is contained in:
Daniel Jacobowitz 2007-10-09 17:59:01 +00:00
parent e2aacd2c75
commit 2ec9a4f8d1
4 changed files with 23 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2007-10-09 Daniel Jacobowitz <dan@codesourcery.com>
* solib-svr4.c (enable_break): Add the dynamic linker also if
auxv succeeds.
2007-10-09 Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
* MAINTAINERS (Write After Approval): Add self.

View File

@ -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;

View File

@ -1,4 +1,8 @@
2007/10/09 Pierre Muller <muller@ics.u-strasbg.fr>
2007-10-09 Daniel Jacobowitz <dan@codesourcery.com>
* gdb.server/server-run.exp: Test for dynamic linker symbols.
2007-10-09 Pierre Muller <muller@ics.u-strasbg.fr>
* lib/gdb.exp (gdb_run_cmd): Move comment outside
of gdb_expect call, to avoid interruption.

View File

@ -38,5 +38,12 @@ gdb_load $binfile
gdbserver_run ""
gdb_reinitialize_dir $srcdir/$subdir
# We are now stopped at the program's entry point. On targets which use
# SVR4 dynamic linking, we should have automatically loaded symbols for
# the dynamic linker.
if { [istarget *-*-linux*] } {
gdb_test "info shared" "From.*To.*" "loaded dynamic linker"
}
gdb_breakpoint main
gdb_test "continue" "Breakpoint.* main .*" "continue to main"