From: Alan Modra Date: Mon, 5 Mar 2018 04:01:05 +0000 (+1030) Subject: mips64 rtype_to_howto error status X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0118219e1850a05ceb181a4f47a6906c01c17c83;p=binutils-gdb.git mips64 rtype_to_howto error status * elf64-mips.c (mips_elf64_rtype_to_howto): Return NULL on error. (mips_elf64_slurp_one_reloc_table): Pass on error. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6e203302234..09fae15d21b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2018-03-07 Alan Modra + + * elf64-mips.c (mips_elf64_rtype_to_howto): Return NULL on error. + (mips_elf64_slurp_one_reloc_table): Pass on error. + 2018-03-03 James Cowgill Maciej W. Rozycki diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c index ea2e921474f..9501613d25b 100644 --- a/bfd/elf64-mips.c +++ b/bfd/elf64-mips.c @@ -3611,7 +3611,7 @@ mips_elf64_rtype_to_howto (bfd *abfd, unsigned int r_type, bfd_boolean rela_p) _bfd_error_handler (_("%pB: unsupported relocation type %#x"), abfd, r_type); bfd_set_error (bfd_error_bad_value); - r_type = R_MIPS_NONE; + return NULL; } if (rela_p) return &mips_elf64_howto_table_rela[r_type]; @@ -3800,6 +3800,8 @@ mips_elf64_slurp_one_reloc_table (bfd *abfd, asection *asect, relent->addend = rela.r_addend; relent->howto = mips_elf64_rtype_to_howto (abfd, type, rela_p); + if (relent->howto == NULL) + goto error_return; ++relent; }