summaryrefslogtreecommitdiffstats
path: root/trunk
diff options
context:
space:
mode:
Diffstat (limited to 'trunk')
-rw-r--r--trunk/ChangeLog6
-rw-r--r--trunk/src/arch-s390.c3
2 files changed, 7 insertions, 2 deletions
diff --git a/trunk/ChangeLog b/trunk/ChangeLog
index 8c16f0d..cf7a444 100644
--- a/trunk/ChangeLog
+++ b/trunk/ChangeLog
@@ -1,3 +1,9 @@
+2010-01-06 Jakub Jelinek <jakub@redhat.com>
+
+ * src/arch-s390.c (s390_prelink_conflict_rela) <case R_390_PC32DBL>:
+ Ensure negative addends are sign-extended to 64-bits, instead of
+ zero-extended.
+
2010-01-05 Jakub Jelinek <jakub@redhat.com>
* src/arch-s390.c (s390_prelink_rela, s390_apply_rela,
diff --git a/trunk/src/arch-s390.c b/trunk/src/arch-s390.c
index cf9f84c..829392e 100644
--- a/trunk/src/arch-s390.c
+++ b/trunk/src/arch-s390.c
@@ -340,8 +340,7 @@ s390_prelink_conflict_rela (DSO *dso, struct prelink_info *info,
break;
case R_390_PC32DBL:
case R_390_PLT32DBL:
- ret->r_addend
- = (Elf32_Addr) (((Elf32_Sword) (value - rela->r_offset)) >> 1);
+ ret->r_addend = ((Elf32_Sword) (value - rela->r_offset)) >> 1;
break;
case R_390_PC16:
value -= rela->r_offset;