diff options
| author | Ulrich Drepper <[email protected]> | 2005-07-27 10:13:23 +0000 |
|---|---|---|
| committer | Ulrich Drepper <[email protected]> | 2005-07-27 10:13:23 +0000 |
| commit | 7d48d6a13fa164209a5c75d27d10cf1cd7b1c4a9 (patch) | |
| tree | 28ade088802c87f692e6e853c3ea100128e132b9 /src/elfcmp.c | |
| parent | 2930c0c9a0a94996bc9effbc84767f634f0ad8bc (diff) | |
elfcmp.c: Print name and index of differing section.
Diffstat (limited to 'src/elfcmp.c')
| -rw-r--r-- | src/elfcmp.c | 36 |
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; } |
