diff --git a/gas/ChangeLog b/gas/ChangeLog index fece8b5941..b6bc2099cd 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2020-09-02 Alan Modra + + * config/tc-nios2.c (md_apply_fix): Avoid too large shift. + 2020-09-02 Alan Modra * config/tc-mips.c (load_register): Avoid too large shift. diff --git a/gas/config/tc-nios2.c b/gas/config/tc-nios2.c index 0134b15ae0..5f0033a9f0 100644 --- a/gas/config/tc-nios2.c +++ b/gas/config/tc-nios2.c @@ -1400,7 +1400,7 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) break; default: { - fixup &= ((valueT) 1 << howto->bitsize) - 1; + fixup &= ((valueT) 2 << (howto->bitsize - 1)) - 1; break; } }