/* Motorola 68HC11-specific support for 32-bit ELF
- Copyright (C) 1999-2020 Free Software Foundation, Inc.
+ Copyright (C) 1999-2021 Free Software Foundation, Inc.
Contributed by Stephane Carrez (stcarrez@nerim.fr)
(Heavily copied from the D10V port by Martin Hunt (hunt@cygnus.com))
section. The user should fix his linker script. */
if (stub_entry->target_section->output_section == NULL
&& info->non_contiguous_regions)
- {
- _bfd_error_handler (_("Could not assign '%pA' to an output section. "
- "Retry without --enable-non-contiguous-regions.\n"),
- stub_entry->target_section);
- abort();
- }
+ info->callbacks->einfo (_("%F%P: Could not assign '%pA' to an output section. "
+ "Retry without --enable-non-contiguous-regions.\n"),
+ stub_entry->target_section);
htab = m68hc11_elf_hash_table (info);
if (htab == NULL)
\f
/* 68HC11 Linker Relaxation. */
-struct m68hc11_direct_relax
+const struct m68hc11_direct_relax
{
const char *name;
unsigned char code;
{ 0, 0, 0 }
};
-static struct m68hc11_direct_relax *
+static const struct m68hc11_direct_relax *
find_relaxable_insn (unsigned char code)
{
int i;
{
unsigned char code;
unsigned short offset;
- struct m68hc11_direct_relax *rinfo;
+ const struct m68hc11_direct_relax *rinfo;
prev_insn_branch = 0;
offset = bfd_get_16 (abfd, contents + irel->r_offset);
prev_insn_group = 0;
}
- if (free_relocs != NULL)
- {
- free (free_relocs);
- free_relocs = NULL;
- }
+ free (free_relocs);
+ free_relocs = NULL;
if (free_contents != NULL)
{
return TRUE;
error_return:
- if (free_relocs != NULL)
- free (free_relocs);
- if (free_contents != NULL)
- free (free_contents);
- if (free_extsyms != NULL)
- free (free_extsyms);
+ free (free_relocs);
+ free (free_contents);
+ free (free_extsyms);
return FALSE;
}