aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--opcodes/ChangeLog4
-rw-r--r--opcodes/s390-dis.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index d30b9b9..14079aa 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,9 @@
2009-09-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+ * s390-dis.c (print_insn_s390): Avoid 'long long'.
+
+2009-09-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
* s390-dis.c (s390_extract_operand): Remove the shift for pcrel operands.
(print_insn_s390): Signextend and shift pcrel operands before printing.
diff --git a/opcodes/s390-dis.c b/opcodes/s390-dis.c
index fe208ba..986e4b5 100644
--- a/opcodes/s390-dis.c
+++ b/opcodes/s390-dis.c
@@ -222,8 +222,8 @@ print_insn_s390 (bfd_vma memaddr, struct disassemble_info *info)
else if (operand->flags & S390_OPERAND_CR)
(*info->fprintf_func) (info->stream, "%%c%i", value);
else if (operand->flags & S390_OPERAND_PCREL)
- (*info->print_address_func) (memaddr +
- (((long long)(int)value) << 1), info);
+ (*info->print_address_func) (memaddr + (int)value + (int)value,
+ info);
else if (operand->flags & S390_OPERAND_SIGNED)
(*info->fprintf_func) (info->stream, "%i", (int) value);
else