X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Fcoff-z80.c;h=2cab1171e45d375fbf3c499dbec2b8842f5de5ed;hb=47f7f636bc8abc3c41848a412a68ca6aa36dbd21;hp=7b62cdf149e4eea6475b2281e2217a4a2210e4b0;hpb=6d00b590316c0b08de21a264893b0fd627c54686;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/coff-z80.c b/bfd/coff-z80.c index 7b62cdf149..2cab1171e4 100644 --- a/bfd/coff-z80.c +++ b/bfd/coff-z80.c @@ -1,5 +1,5 @@ /* BFD back-end for Zilog Z80 COFF binaries. - Copyright (C) 2005-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2016 Free Software Foundation, Inc. Contributed by Arnold Metselaar This file is part of BFD, the Binary File Descriptor library. @@ -81,7 +81,7 @@ rtype2howto (arelent *internal, struct internal_reloc *dst) switch (dst->r_type) { default: - abort (); + internal->howto = NULL; break; case R_IMM8: internal->howto = &r_imm8; @@ -188,14 +188,11 @@ extra_case (bfd *in_abfd, val = bfd_coff_reloc16_get_value (reloc, link_info, input_section); if (val>127 || val<-128) /* Test for overflow. */ - { - if (! ((*link_info->callbacks->reloc_overflow) - (link_info, NULL, - bfd_asymbol_name (*reloc->sym_ptr_ptr), - reloc->howto->name, reloc->addend, input_section->owner, - input_section, reloc->address))) - abort (); - } + (*link_info->callbacks->reloc_overflow) + (link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr), + reloc->howto->name, reloc->addend, input_section->owner, + input_section, reloc->address); + bfd_put_8 (in_abfd, val, data + *dst_ptr); (*dst_ptr) += 1; (*src_ptr) += 1; @@ -247,14 +244,11 @@ extra_case (bfd *in_abfd, the offset. */ if (gap >= 128 || gap < -128) - { - if (! ((*link_info->callbacks->reloc_overflow) - (link_info, NULL, - bfd_asymbol_name (*reloc->sym_ptr_ptr), - reloc->howto->name, reloc->addend, input_section->owner, - input_section, reloc->address))) - abort (); - } + (*link_info->callbacks->reloc_overflow) + (link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr), + reloc->howto->name, reloc->addend, input_section->owner, + input_section, reloc->address); + bfd_put_8 (in_abfd, gap, data + *dst_ptr); (*dst_ptr)++; (*src_ptr)++;