/* Set the howto pointer for an FRV ELF reloc. */
-static void
+static bfd_boolean
frv_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
arelent *cache_ptr,
Elf_Internal_Rela *dst)
/* xgettext:c-format */
_bfd_error_handler (_("%pB: unsupported relocation type %#x"),
abfd, r_type);
- r_type = 0;
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
}
cache_ptr->howto = & elf32_frv_howto_table [r_type];
break;
}
+ return TRUE;
}
/* Set the howto pointer for an FRV ELF REL reloc. */
-static void
+
+static bfd_boolean
frvfdpic_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
arelent *cache_ptr, Elf_Internal_Rela *dst)
{
default:
cache_ptr->howto = NULL;
- break;
+ return FALSE;
}
+ return TRUE;
}
\f
/* Perform a single relocation. By default we use the standard BFD
if (addend)
{
info->callbacks->einfo
- (_("%H: R_FRV_FUNCDESC references dynamic symbol"
+ (_("%H: %s references dynamic symbol"
" with nonzero addend\n"),
- input_bfd, input_section, rel->r_offset);
+ input_bfd, input_section, rel->r_offset,
+ "R_FRV_FUNCDESC");
return FALSE;
}
dynindx = h->dynindx;
if (addend && r_type == R_FRV_FUNCDESC_VALUE)
{
info->callbacks->einfo
- (_("%H: R_FRV_FUNCDESC_VALUE"
- " references dynamic symbol with nonzero addend\n"),
- input_bfd, input_section, rel->r_offset);
+ (_("%H: %s references dynamic symbol"
+ " with nonzero addend\n"),
+ input_bfd, input_section, rel->r_offset,
+ "R_FRV_FUNCDESC_VALUE");
return FALSE;
}
dynindx = h->dynindx;