From: Alan Modra Date: Thu, 31 Jan 2019 04:08:45 +0000 (+1030) Subject: Assorted warning fixes X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3ca4a8eca78b4d5e3fa308dbd21c67ebef09a261;p=binutils-gdb.git Assorted warning fixes gcc-9 flagged warnings at the places I'm patching here, all real bugs. * config/tc-alpha.c (md_apply_fix): Correct range checks for BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BSR. * config/tc-arm.c (md_apply_fix): Use llabs rather than abs. * config/tc-csky.c (get_macro_reg_vals): Pass s to csky_show_error. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 5e2d8134910..e6c63d102f9 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2019-01-31 Alan Modra + + * config/tc-alpha.c (md_apply_fix): Correct range checks for + BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BSR. + * config/tc-arm.c (md_apply_fix): Use llabs rather than abs. + * config/tc-csky.c (get_macro_reg_vals): Pass s to csky_show_error. + 2019-01-28 Max Filippov * config/tc-xtensa.c (md_apply_fix): Mark fixups for constant diff --git a/gas/config/tc-alpha.c b/gas/config/tc-alpha.c index 606f201a1ed..7f800361574 100644 --- a/gas/config/tc-alpha.c +++ b/gas/config/tc-alpha.c @@ -5878,7 +5878,7 @@ md_apply_fix (fixS *fixP, valueT * valP, segT seg) return; } - if ((abs (value) >> 2) & ~0xfffff) + if (value + (1u << 22) >= (1u << 23)) goto done; else { @@ -5897,7 +5897,7 @@ md_apply_fix (fixS *fixP, valueT * valP, segT seg) return; } - if ((abs (value)) & ~0x7fff) + if (value + (1u << 15) >= (1u << 16)) goto done; else { @@ -5917,7 +5917,7 @@ md_apply_fix (fixS *fixP, valueT * valP, segT seg) return; } - if ((abs (value) >> 2) & ~0xfffff) + if (value + (1u << 22) >= (1u << 23)) { /* Out of range. */ if (fixP->fx_r_type == BFD_RELOC_ALPHA_BOH) diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index da5dd25fcf2..81b5ceedcc9 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -24507,7 +24507,7 @@ md_apply_fix (fixS * fixP, { bfd_vma insn; bfd_vma encoded_addend; - bfd_vma addend_abs = abs (value); + bfd_vma addend_abs = llabs (value); /* Check that the absolute value of the addend can be expressed as an 8-bit constant plus a rotation. */ @@ -24548,7 +24548,7 @@ md_apply_fix (fixS * fixP, if (!seg->use_rela_p) { bfd_vma insn; - bfd_vma addend_abs = abs (value); + bfd_vma addend_abs = llabs (value); /* Check that the absolute value of the addend can be encoded in 12 bits. */ @@ -24587,7 +24587,7 @@ md_apply_fix (fixS * fixP, if (!seg->use_rela_p) { bfd_vma insn; - bfd_vma addend_abs = abs (value); + bfd_vma addend_abs = llabs (value); /* Check that the absolute value of the addend can be encoded in 8 bits. */ @@ -24627,7 +24627,7 @@ md_apply_fix (fixS * fixP, if (!seg->use_rela_p) { bfd_vma insn; - bfd_vma addend_abs = abs (value); + bfd_vma addend_abs = llabs (value); /* Check that the absolute value of the addend is a multiple of four and, when divided by four, fits in 8 bits. */ diff --git a/gas/config/tc-csky.c b/gas/config/tc-csky.c index 550de100b32..75ced2ab0df 100644 --- a/gas/config/tc-csky.c +++ b/gas/config/tc-csky.c @@ -5494,7 +5494,7 @@ get_macro_reg_vals (int *reg1, int *reg2, int *reg3) s += nlen; if (*s != '\0') { - csky_show_error (ERROR_BAD_END, 0, NULL, NULL); + csky_show_error (ERROR_BAD_END, 0, s, NULL); return FALSE; } if (*reg1 == -1 || *reg2 == -1 || *reg3 == -1)