From 054565943aa9abff8ffa9ab848eeae3873f27395 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 26 Jul 2012 13:43:24 +0000 Subject: 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. --- bfd/elf32-arm.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'bfd/elf32-arm.c') diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 1bbd96c..4f2d00e 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -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 -- cgit v1.1