From 79cc642653bd91d948ea422693bdce5d39ae280c Mon Sep 17 00:00:00 2001 From: jakub Date: Sat, 5 Oct 2013 14:49:46 +0000 Subject: [PATCH] * src/arch-s390.c (s390_prelink_conflict_rela): For R_390_IRELATIVE, always use that relocation type in the conflict section. git-svn-id: http://sourceware.org/svn/prelink@209 94c539fb-cf18-0410-b60f-edeeb537fa16 --- trunk/ChangeLog | 5 +++++ trunk/src/arch-s390.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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 + + * 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 * 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;