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;