]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
* solib-svr4.c (enable_break): Add the dynamic linker also if
authorDaniel Jacobowitz <drow@false.org>
Tue, 9 Oct 2007 18:03:30 +0000 (18:03 +0000)
committerDaniel Jacobowitz <drow@false.org>
Tue, 9 Oct 2007 18:03:30 +0000 (18:03 +0000)
auxv succeeds.

* gdb.server/server-run.exp: Test for dynamic linker symbols.

gdb/ChangeLog
gdb/solib-svr4.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.server/server-run.exp

index 5a773599b4d6f2a9bf670f75e5fca10b74f1bab7..70348bd569565de9c3a526fad2a1500622a8f934 100644 (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-08  Pedro Alves  <pedro_alves@portugalmail.pt>
 
        Revert:
index 0c658ea5ab0ec6525dcf81ed5337f89555c263bc..133adc3809bce7d71816816181ef5cde74844ef5 100644 (file)
@@ -985,6 +985,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;
@@ -1042,6 +1043,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;
            }
@@ -1052,9 +1054,11 @@ enable_break (void)
         the current pc (which should point at the entry point for the
         dynamic linker) and subtracting the offset of the entry point.  */
       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;
index 0a3ec05a102d01bac229fdb8e51cbad337fa8ba0..cbaefb2e32fde2ad32916a69cee14283070db958 100644 (file)
@@ -1,3 +1,7 @@
+2007-10-09  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * gdb.server/server-run.exp: Test for dynamic linker symbols.
+
 2007-09-21  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * gdb.base/sepdebug.exp (test_different_dir): Append to pf_prefix.
index 8a5749d7ab0a4ff67596b5aecfb5c7f70b3382e6..f2a612573f8ab9c5a90c753b5845ece1fb8bb78a 100644 (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"