/* Set the howto pointer for an RL78 ELF reloc. */
-static void
-rl78_info_to_howto_rela (bfd * abfd ATTRIBUTE_UNUSED,
+static bfd_boolean
+rl78_info_to_howto_rela (bfd * abfd,
arelent * cache_ptr,
Elf_Internal_Rela * dst)
{
if (r_type >= (unsigned int) R_RL78_max)
{
/* xgettext:c-format */
- _bfd_error_handler (_("%pB: invalid RL78 reloc number: %d"), abfd, r_type);
- r_type = 0;
+ _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+ abfd, r_type);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
}
cache_ptr->howto = rl78_elf_howto_table + r_type;
+ return TRUE;
}
\f
static bfd_vma
if (rl78_stack_top < NUM_STACK_ENTRIES) \
rl78_stack [rl78_stack_top ++] = (val); \
else \
- _bfd_error_handler (_("Internal Error: RL78 reloc stack overflow")); \
+ _bfd_error_handler (_("internal error: RL78 reloc stack overflow")); \
} \
while (0)
(dest) = rl78_stack [-- rl78_stack_top];\
else \
{ \
- _bfd_error_handler (_("Internal Error: RL78 reloc stack underflow")); \
+ _bfd_error_handler (_("internal error: RL78 reloc stack underflow")); \
(dest) = 0; \
} \
} \
{
relocation = 0;
if (h->root.type != bfd_link_hash_undefweak)
- _bfd_error_handler (_("Warning: RL78_SYM reloc with an unknown symbol"));
+ _bfd_error_handler
+ (_("warning: RL78_SYM reloc with an unknown symbol"));
}
(void) rl78_compute_complex_reloc (r_type, relocation, input_section);
break;