diff options
-rw-r--r-- | trunk/ChangeLog.cross | 2 | ||||
-rw-r--r-- | trunk/src/conflict.c | 4 | ||||
-rw-r--r-- | trunk/src/get.c | 2 | ||||
-rw-r--r-- | trunk/src/prelink.h | 1 |
4 files changed, 7 insertions, 2 deletions
diff --git a/trunk/ChangeLog.cross b/trunk/ChangeLog.cross index bc9e4a2..52a3d40 100644 --- a/trunk/ChangeLog.cross +++ b/trunk/ChangeLog.cross @@ -2,6 +2,8 @@ * Resync src/rtld to glibc-2.22 * src/elf.h, src/rtld/*: Update elf.h to glibc 2.22 version + * get.c, prelink.h: Add symname to conflict structure + * conflict.c: Provide more debuggign on a conflict (symname) 2015-09-11 Mark Hatle <mark.hatle@windriver.com> * doc/prelink.8: Add --ld-preload docs diff --git a/trunk/src/conflict.c b/trunk/src/conflict.c index a1fb1ec..9ae2ddb 100644 --- a/trunk/src/conflict.c +++ b/trunk/src/conflict.c @@ -603,8 +603,8 @@ prelink_build_conflicts (struct prelink_info *info) conflict = conflict->next) if (! conflict->used && (i || conflict->ifunc)) { - error (0, 0, "%s: Conflict %08llx not found in any relocation", - dso->filename, (unsigned long long) conflict->symoff); + error (0, 0, "%s: Conflict %08llx (%s) not found in any relocation", + dso->filename, (unsigned long long) conflict->symoff, conflict->symname); ret = 1; } diff --git a/trunk/src/get.c b/trunk/src/get.c index b11b270..d10efcc 100644 --- a/trunk/src/get.c +++ b/trunk/src/get.c @@ -449,6 +449,7 @@ prelink_record_relocations (struct prelink_info *info, FILE *f, conflict->reloc_class = reloc_class; conflict->used = 0; conflict->ifunc = ifunc; + conflict->symname = strdup(symname); if (++info->conflicts[symowner].count == 16) conflict_hash_init (&info->conflicts[symowner]); } @@ -602,6 +603,7 @@ prelink_record_relocations (struct prelink_info *info, FILE *f, conflict->reloc_class = reloc_class; conflict->used = 0; conflict->ifunc = ifunc; + conflict->symname = strdup(symname); if (++info->conflicts[symowner].count == 16) conflict_hash_init (&info->conflicts[symowner]); } diff --git a/trunk/src/prelink.h b/trunk/src/prelink.h index a6ce607..299f1fa 100644 --- a/trunk/src/prelink.h +++ b/trunk/src/prelink.h @@ -489,6 +489,7 @@ struct prelink_conflict int reloc_class; unsigned char used; unsigned char ifunc; + char * symname; }; struct prelink_conflicts |