+2016-12-06 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/20929
+ * aoutx.h (squirt_out_relocs): Check for relocs without an
+ associated symbol.
+
2016-12-06 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (ok_lo_toc_insn): Add r_type param. Recognize
count != 0;
--count, natptr += each_size, ++generic)
{
- if ((*generic)->howto == NULL)
+ /* PR 20921: If the howto field has not been initialised then skip
+ this reloc.
+ PR 20929: Similarly for the symbol field. */
+ if ((*generic)->howto == NULL
+ || (*generic)->sym_ptr_ptr == NULL)
{
bfd_set_error (bfd_error_invalid_operation);
- _bfd_error_handler (_("%B: attempt to write out unknown reloc type"), abfd);
+ _bfd_error_handler (_("\
+%B: attempt to write out unknown reloc type"), abfd);
return FALSE;
}
MY_swap_ext_reloc_out (abfd, *generic,
count != 0;
--count, natptr += each_size, ++generic)
{
- /* PR 20921: If the howto field has not been initialised then skip
- this reloc. */
- if ((*generic)->howto == NULL)
+ if ((*generic)->howto == NULL
+ || (*generic)->sym_ptr_ptr == NULL)
{
bfd_set_error (bfd_error_invalid_operation);
- _bfd_error_handler (_("%B: attempt to write out unknown reloc type"), abfd);
+ _bfd_error_handler (_("\
+%B: attempt to write out unknown reloc type"), abfd);
return FALSE;
}
MY_swap_std_reloc_out (abfd, *generic,