PR ld/14397

* elf32-arm.c (elf32_arm_finish_dynamic_sections): Report an error
	if a required section is missing from the linker script.

	* ld-arm/arm-elf.exp: Add tests of linking without .rel.plt.
	* ld-arm/arm-no-rel-plt.out: Linker script without .rel.plt section.
	* ld-arm/arm-no-rel-plt.out: Expected output.
This commit is contained in:
Nick Clifton 2012-07-26 13:43:24 +00:00
parent 29f7799750
commit 054565943a
6 changed files with 265 additions and 1 deletions

View file

@ -14083,7 +14083,14 @@ elf32_arm_finish_dynamic_sections (bfd * output_bfd, struct bfd_link_info * info
name = RELOC_SECTION (htab, ".plt");
get_vma:
s = bfd_get_section_by_name (output_bfd, name);
BFD_ASSERT (s != NULL);
if (s == NULL)
{
/* PR ld/14397: Issue an error message if a required section is missing. */
(*_bfd_error_handler)
(_("error: required section '%s' not found in the linker script"), name);
bfd_set_error (bfd_error_invalid_operation);
return FALSE;
}
if (!htab->symbian_p)
dyn.d_un.d_ptr = s->vma;
else