[PATCH v2] IBM zSystems: Accept (. - 0x100000000) PCRel32 operands
Andreas Krebbel
krebbel@linux.ibm.com
Mon May 9 20:01:10 GMT 2022
On 5/4/22 12:36, Ilya Leoshkevich wrote:
> as does not accept instructions like brasl %r0,.-0x100000000, because
> of two problems with the generic overflow check:
>
> 1. PCRel32 operands are signed, but are treated as unsigned.
>
> 2. The allowed range for these operands is [-(1 << 32), (1 << 32) - 1],
> and not [-(1 << 31), (1 << 31) - 1].
>
> Fix both by disabling the generic overflow check - it's not needed,
> because s390_insert_operand () performs its own.
>
> gas/ChangeLog:
>
> * config/tc-s390.c (md_gather_operands): Set fx_no_overflow.
> * testsuite/gas/s390/s390.exp: Add zarch-z900-err.
> * testsuite/gas/s390/esa-z900.d: New test.
> * testsuite/gas/s390/esa-z900.s: New test.
> * testsuite/gas/s390/zarch-z900-err.l: New test.
> * testsuite/gas/s390/zarch-z900-err.s: New test.
Committed. Thanks!
Andreas
More information about the Binutils
mailing list