* solib-svr4.c (LM_ADDR_CHECK): Suggest shared library mismatch.
authorDaniel Jacobowitz <drow@false.org>
Tue, 17 Oct 2006 20:52:32 +0000 (20:52 +0000)
committerDaniel Jacobowitz <drow@false.org>
Tue, 17 Oct 2006 20:52:32 +0000 (20:52 +0000)
gdb/ChangeLog
gdb/solib-svr4.c

index aac9f6720d36139ee23abc4268833942c61d2afb..ae313c29ab15165029f1e08a9f92331abd03669c 100644 (file)
@@ -1,3 +1,7 @@
+2006-10-17  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * solib-svr4.c (LM_ADDR_CHECK): Suggest shared library mismatch.
+
 2006-10-17  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * Makefile.in (symtab.o): Update.
index 89fd81a4d055e15897f77ad7536003399c425e8c..9637db92dc3f7ba4c9a79916ae9d938c8792cd80 100644 (file)
@@ -187,9 +187,6 @@ LM_ADDR_CHECK (struct so_list *so, bfd *abfd)
 
       if (dynaddr + l_addr != l_dynaddr)
        {
-         warning (_(".dynamic section for \"%s\" "
-                    "is not at the expected address"), so->so_name);
-
          if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
            {
              Elf_Internal_Ehdr *ehdr = elf_tdata (abfd)->elf_header;
@@ -218,9 +215,16 @@ LM_ADDR_CHECK (struct so_list *so, bfd *abfd)
          if ((l_addr & align) == 0 && ((dynaddr - l_dynaddr) & align) == 0)
            {
              l_addr = l_dynaddr - dynaddr;
+
+             warning (_(".dynamic section for \"%s\" "
+                    "is not at the expected address"), so->so_name);
              warning (_("difference appears to be caused by prelink, "
                         "adjusting expectations"));
            }
+         else
+           warning (_(".dynamic section for \"%s\" "
+                      "is not at the expected address "
+                      "(wrong library or version mismatch?)"), so->so_name);
        }
 
     set_addr: