aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjakub <jakub@94c539fb-cf18-0410-b60f-edeeb537fa16>2009-07-09 08:58:18 +0000
committerjakub <jakub@94c539fb-cf18-0410-b60f-edeeb537fa16>2009-07-09 08:58:18 +0000
commit3273a6a46ac7b2839087c3d926af4e0f9daaf1f0 (patch)
tree1206ac3d92587029dc4e4405c0ca49e0adc6cb32
parente75d2ea7e57cf638a1b0a16b414e528433d4bbee (diff)
downloadprelink-cross-3273a6a46ac7b2839087c3d926af4e0f9daaf1f0.tar.gz
prelink-cross-3273a6a46ac7b2839087c3d926af4e0f9daaf1f0.tar.bz2
prelink-cross-3273a6a46ac7b2839087c3d926af4e0f9daaf1f0.zip
* src/conflict.c (prelink_build_conflicts): Don't call
prelink_conflict_rel{,a} on .gnu.conflict section in executables. git-svn-id: http://sourceware.org/svn/prelink@173 94c539fb-cf18-0410-b60f-edeeb537fa16
-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;