gas: Fix mmix fixups and TC_FX_SIZE_SLACK, PR25331
authorHans-Peter Nilsson <hp@bitrange.com>
Mon, 29 Jun 2020 03:32:02 +0000 (05:32 +0200)
committerHans-Peter Nilsson <hp@bitrange.com>
Mon, 29 Jun 2020 03:32:02 +0000 (05:32 +0200)
commitb20e7614da3d64ffe05617d5ac89819bff6bedf8
treef0f74b65211466d77e3aa908750489ad921c9ede
parent9f27c36482d98a00d63fe76f7d740d5de4873ead
gas: Fix mmix fixups and TC_FX_SIZE_SLACK, PR25331

Finally; sorry for the delay.  There were a few false starts, where I
misinterpreted the error-messages and the comment that Alan added:
it's not the fix size that's too large (and the frag too small), it's
stating the wrong size of what will be "fixed up" - that of the actual
target value, not the size of the field that needs to be adjusted.
Comments added for clarity.

Test-suite committed separately.

gas:
PR gas/25331
* config/tc-mmix.c (md_assemble) <fixup for
BFD_RELOC_MMIX_BASE_PLUS_OFFSET>: This fixup affects 1 byte, not 8.
Also, set its fx_no_overflow.
(md_convert_frag) <case ENCODE_RELAX (STATE_PUSHJSTUB, STATE_ZERO)>:
Similarly this fixup affects 4 bytes, not 8 and needs its
fx_no_overflow set.
* config/tc-mmix.h (TC_FX_SIZE_SLACK): Don't define.
gas/ChangeLog
gas/config/tc-mmix.c
gas/config/tc-mmix.h