[PATCH] S/390: Fix objdump output of larl operand - take 2

Andreas Schwab schwab@redhat.com
Thu Sep 10 08:50:00 GMT 2009


"Andreas Krebbel" <krebbel@linux.vnet.ibm.com> writes:

> @@ -222,7 +222,8 @@ print_insn_s390 (bfd_vma memaddr, struct
>  	      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 + (int) value, info);
> +		(*info->print_address_func) (memaddr +
> +					     (((long long)(int)value) << 1), info);

How about (memaddr + (int) value + (int) value)?  That avoids the
overflow without the need for long long.

Andreas.

-- 
Andreas Schwab, schwab@redhat.com
GPG Key fingerprint = D4E8 DBE3 3813 BB5D FA84  5EC7 45C6 250E 6F00 984E
"And now for something completely different."



More information about the Binutils mailing list