From 53215f214c61b850085196a8d69774eed026ecd9 Mon Sep 17 00:00:00 2001 From: Christophe Lyon Date: Tue, 17 Mar 2020 15:59:01 +0000 Subject: Non-contiguous memory regions support: Avoid calls to abort Use '%F' format when printing error messages to exit cleanly rather than by calling abort(). 2020-03-18 Christophe Lyon bfd/ * elf32-arm.c (arm_build_one_stub): Emit a fatal error message instead of calling abort. * elf32-csky.c (csky_build_one_stub): Likewise. * elf32-hppa.c (hppa_build_one_stub): Likewise. * elf32-m68hc11.c (m68hc11_elf_build_one_stub): Likewise. * elf32-m68hc12.c (m68hc12_elf_build_one_stub): Likewise. * elf32-metag.c (metag_build_one_stub): Likewise. * elf32-nios2.c (nios2_build_one_stub): Likewise. * elf64-ppc.c (ppc_build_one_stub): Likewise. (ppc_size_one_stub): Likewise. * elfnn-aarch64.c (aarch64_build_one_stub): Likewise. ld/ * emultempl/xtensaelf.em: Emit a fatal error message instead of calling abort. * ldlang.c: Likewise. Change-Id: I60deaeeee59d4e7cab06b8a40a3e51837c43a8ab --- ld/ChangeLog | 6 ++++++ ld/emultempl/xtensaelf.em | 6 ++---- ld/ldlang.c | 20 +++++++------------- 3 files changed, 15 insertions(+), 17 deletions(-) (limited to 'ld') diff --git a/ld/ChangeLog b/ld/ChangeLog index 79fd3be..f8ee247 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2020-03-18 Christophe Lyon + + * emultempl/xtensaelf.em: Emit a fatal error message + instead of calling abort. + * ldlang.c: Likewise. + 2020-03-14 Alan Modra * testsuite/ld-elf/non-contiguous.d: Don't xfail generic ELF diff --git a/ld/emultempl/xtensaelf.em b/ld/emultempl/xtensaelf.em index 74bd11c..2d9f594 100644 --- a/ld/emultempl/xtensaelf.em +++ b/ld/emultempl/xtensaelf.em @@ -1225,10 +1225,8 @@ ld_build_required_section_dependence (lang_statement_union_type *s) lang_statement_union_type *l = iter_stack_current (&stack); if (l == NULL && link_info.non_contiguous_regions) - { - einfo (_("Relaxation not supported with --enable-non-contiguous-regions.\n")); - abort(); - } + einfo (_("%F%P: Relaxation not supported with " + "--enable-non-contiguous-regions.\n")); if (l->header.type == lang_input_section_enum) { diff --git a/ld/ldlang.c b/ld/ldlang.c index 8e56e86..0bb5f3c 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -5220,21 +5220,15 @@ size_input_section if (dot + TO_ADDR (i->size) > end) { if (i->flags & SEC_LINKER_CREATED) - { - einfo (_("Output section '%s' not large enough for the " - "linker-created stubs section '%s'.\n"), - i->output_section->name, i->name); - abort(); - } + einfo (_("%F%P: Output section '%s' not large enough for the " + "linker-created stubs section '%s'.\n"), + i->output_section->name, i->name); if (i->rawsize && i->rawsize != i->size) - { - einfo (_("Relaxation not supported with " - "--enable-non-contiguous-regions (section '%s' " - "would overflow '%s' after it changed size).\n"), - i->name, i->output_section->name); - abort(); - } + einfo (_("%F%P: Relaxation not supported with " + "--enable-non-contiguous-regions (section '%s' " + "would overflow '%s' after it changed size).\n"), + i->name, i->output_section->name); *removed = 1; dot = end; -- cgit v1.1