diff options
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/solib-svr4.c | 10 |
2 files changed, 11 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index aac9f67..ae313c2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 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. * symtab.h (matching_bfd_section): New prototype. * symtab.c (matching_bfd_section): New. diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c index 89fd81a..9637db9 100644 --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c @@ -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: |