summaryrefslogtreecommitdiff
path: root/gdb/solib-svr4.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2006-10-17 20:52:32 +0000
committerDaniel Jacobowitz <dan@debian.org>2006-10-17 20:52:32 +0000
commit57348eab4f1292777b241d09ef8c5a9f2c188be0 (patch)
treef26eb4fb418726a14fbdfcae8a0afea4d2419c53 /gdb/solib-svr4.c
parent137b258452b9c30be8956be3e2467a9b1d43bbd1 (diff)
downloadgdb-57348eab4f1292777b241d09ef8c5a9f2c188be0.tar.gz
* solib-svr4.c (LM_ADDR_CHECK): Suggest shared library mismatch.
Diffstat (limited to 'gdb/solib-svr4.c')
-rw-r--r--gdb/solib-svr4.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index 89fd81a4d05..9637db92dc3 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: