aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjakub <jakub@94c539fb-cf18-0410-b60f-edeeb537fa16>2013-10-05 14:49:46 +0000
committerjakub <jakub@94c539fb-cf18-0410-b60f-edeeb537fa16>2013-10-05 14:49:46 +0000
commit79cc642653bd91d948ea422693bdce5d39ae280c (patch)
tree59069e9734fdb15f7408c6788305f667ba9b39cc
parentb6bceb11f33751ad935ec57819936cd2657d0d54 (diff)
downloadprelink-cross-upstream-svn-r209.tar.gz
prelink-cross-upstream-svn-r209.tar.bz2
prelink-cross-upstream-svn-r209.zip
* src/arch-s390.c (s390_prelink_conflict_rela): For R_390_IRELATIVE,20131005upstream-svn-r209
always use that relocation type in the conflict section. git-svn-id: http://sourceware.org/svn/prelink@209 94c539fb-cf18-0410-b60f-edeeb537fa16
-rw-r--r--trunk/ChangeLog5
-rw-r--r--trunk/src/arch-s390.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/trunk/ChangeLog b/trunk/ChangeLog
index 10de6f3..c24ba7b 100644
--- a/trunk/ChangeLog
+++ b/trunk/ChangeLog
@@ -1,3 +1,8 @@
+2013-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ * src/arch-s390.c (s390_prelink_conflict_rela): For R_390_IRELATIVE,
+ always use that relocation type in the conflict section.
+
2013-10-01 Jakub Jelinek <jakub@redhat.com>
* testsuite/ifunc.h (IFUNC_ASM): Add s390x and s390 version.
diff --git a/trunk/src/arch-s390.c b/trunk/src/arch-s390.c
index cd540cf..83f396c 100644
--- a/trunk/src/arch-s390.c
+++ b/trunk/src/arch-s390.c
@@ -351,11 +351,14 @@ s390_prelink_conflict_rela (DSO *dso, struct prelink_info *info,
ret->r_info = GELF_R_INFO (0, R_390_IRELATIVE);
break;
case R_390_32:
- case R_390_IRELATIVE:
ret->r_addend = (Elf32_Sword) value;
if (conflict != NULL && conflict->ifunc)
ret->r_info = GELF_R_INFO (0, R_390_IRELATIVE);
break;
+ case R_390_IRELATIVE:
+ ret->r_addend = (Elf32_Sword) value;
+ ret->r_info = GELF_R_INFO (0, R_390_IRELATIVE);
+ break;
case R_390_PC32:
ret->r_addend = (Elf32_Sword) (value - rela->r_offset);
break;