aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--trunk/ChangeLog.cross2
-rw-r--r--trunk/src/conflict.c4
-rw-r--r--trunk/src/get.c2
-rw-r--r--trunk/src/prelink.h1
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