summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--trunk/ChangeLog5
-rw-r--r--trunk/src/conflict.c10
2 files changed, 15 insertions, 0 deletions
diff --git a/trunk/ChangeLog b/trunk/ChangeLog
index 8265782..258c8e5 100644
--- a/trunk/ChangeLog
+++ b/trunk/ChangeLog
@@ -1,3 +1,8 @@
+2009-07-09 Jakub Jelinek <jakub@redhat.com>
+
+ * src/conflict.c (prelink_build_conflicts): Don't call
+ prelink_conflict_rel{,a} on .gnu.conflict section in executables.
+
2009-06-15 Jakub Jelinek <jakub@redhat.com>
* src/prelink.h (R_386_IRELATIVE, R_X86_64_IRELATIVE): Define
diff --git a/trunk/src/conflict.c b/trunk/src/conflict.c
index 38d0830..1a972c5 100644
--- a/trunk/src/conflict.c
+++ b/trunk/src/conflict.c
@@ -565,10 +565,20 @@ prelink_build_conflicts (struct prelink_info *info)
switch (dso->shdr[j].sh_type)
{
case SHT_REL:
+ if (i == 0
+ && strcmp (strptr (dso, dso->ehdr.e_shstrndx,
+ dso->shdr[j].sh_name),
+ ".gnu.conflict") == 0)
+ break;
if (prelink_conflict_rel (dso, j, info))
goto error_out;
break;
case SHT_RELA:
+ if (i == 0
+ && strcmp (strptr (dso, dso->ehdr.e_shstrndx,
+ dso->shdr[j].sh_name),
+ ".gnu.conflict") == 0)
+ break;
if (prelink_conflict_rela (dso, j, info))
goto error_out;
break;