summaryrefslogtreecommitdiffstats
path: root/src/elfcmp.c
diff options
context:
space:
mode:
authorUlrich Drepper <[email protected]>2005-07-27 10:13:23 +0000
committerUlrich Drepper <[email protected]>2005-07-27 10:13:23 +0000
commit7d48d6a13fa164209a5c75d27d10cf1cd7b1c4a9 (patch)
tree28ade088802c87f692e6e853c3ea100128e132b9 /src/elfcmp.c
parent2930c0c9a0a94996bc9effbc84767f634f0ad8bc (diff)
elfcmp.c: Print name and index of differing section.
Diffstat (limited to 'src/elfcmp.c')
-rw-r--r--src/elfcmp.c36
1 files changed, 25 insertions, 11 deletions
diff --git a/src/elfcmp.c b/src/elfcmp.c
index 6bf7e749..053a0d17 100644
--- a/src/elfcmp.c
+++ b/src/elfcmp.c
@@ -295,9 +295,19 @@ main (int argc, char *argv[])
|| sym1->st_shndx != sym1->st_shndx)
{
// XXX Do we want to allow reordered symbol tables?
+ symtab_mismatch:
if (! quiet)
- error (0, 0, gettext ("%s %s differ: symbol table"),
- fname1, fname2);
+ {
+ if (elf_ndxscn (scn1) == elf_ndxscn (scn2))
+ error (0, 0,
+ gettext ("%s %s differ: symbol table [%zu]"),
+ fname1, fname2, elf_ndxscn (scn1));
+ else
+ error (0, 0, gettext ("\
+%s %s differ: symbol table [%zu,%zu]"),
+ fname1, fname2, elf_ndxscn (scn1),
+ elf_ndxscn (scn2));
+ }
result = 1;
goto out;
}
@@ -315,13 +325,7 @@ main (int argc, char *argv[])
symbol. */
if (search_for_copy_reloc (ebl1, elf_ndxscn (scn1), ndx)
|| search_for_copy_reloc (ebl2, elf_ndxscn (scn2), ndx))
- {
- if (! quiet)
- error (0, 0, gettext ("%s %s differ: symbol table"),
- fname1, fname2);
- result = 1;
- goto out;
- }
+ goto symtab_mismatch;
}
}
break;
@@ -338,8 +342,18 @@ main (int argc, char *argv[])
&& memcmp (data1->d_buf, data2->d_buf, data1->d_size) != 0))
{
if (! quiet)
- error (0, 0, gettext ("%s %s differ: section content"),
- fname1, fname2);
+ {
+ if (elf_ndxscn (scn1) == elf_ndxscn (scn2))
+ error (0, 0, gettext ("\
+%s %s differ: section [%zu] '%s' content"),
+ fname1, fname2, elf_ndxscn (scn1), sname1);
+ else
+ if (elf_ndxscn (scn1) == elf_ndxscn (scn2))
+ error (0, 0, gettext ("\
+%s %s differ: section [%zu,%zu] '%s' content"),
+ fname1, fname2, elf_ndxscn (scn1),
+ elf_ndxscn (scn2), sname1);
+ }
result = 1;
goto out;
}