diff options
author | Alan Modra <amodra@gmail.com> | 2014-08-18 09:33:35 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2014-08-18 09:33:35 +0930 |
commit | 759388538d1339f6a634b2777e24f46427dd9c96 (patch) | |
tree | 7476c5a31a0fe3ebf289411c3b02897a4f6d6211 /ld/emultempl/armelf.em | |
parent | 1e53931944810798e6741f664bd3ec727272fe11 (diff) | |
download | gdb-759388538d1339f6a634b2777e24f46427dd9c96.zip gdb-759388538d1339f6a634b2777e24f46427dd9c96.tar.gz gdb-759388538d1339f6a634b2777e24f46427dd9c96.tar.bz2 |
Return error status from bfd_elf_discard_info.
bfd/
* elflink.c (bfd_elf_discard_info): Return int error status.
* stabs.c (_bfd_discard_section_stabs): Comment typo fix.
* bfd-in.h (bfd_elf_discard_info): Updata prototype.
* bfd-in2.h: Regenerate.
ld/
* emultempl/aarch64elf.em (gld${EMULATION_NAME}_after_allocation):
Handle error status from bfd_elf_discard_info.
* emultempl/armelf.em: Likewise.
* emultempl/elf32.em: Likewise.
* emultempl/hppaelf.em: Likewise.
* emultempl/metagelf.em: Likewise.
* emultempl/nios2elf.em: Likewise.
* emultempl/ppc64elf.em: Likewise.
* emultempl/tic6xdsbt.em: Likewise.
* emultempl/vms.em: Likewise.
Diffstat (limited to 'ld/emultempl/armelf.em')
-rw-r--r-- | ld/emultempl/armelf.em | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em index 34028ee..371b440 100644 --- a/ld/emultempl/armelf.em +++ b/ld/emultempl/armelf.em @@ -271,6 +271,8 @@ compare_output_sec_vma (const void *a, const void *b) static void gld${EMULATION_NAME}_after_allocation (void) { + int ret; + if (!link_info.relocatable) { /* Build a sorted list of input text sections, then use that to process @@ -325,15 +327,20 @@ gld${EMULATION_NAME}_after_allocation (void) ie. doesn't affect any code, so we can delay resizing the sections. It's likely we'll resize everything in the process of adding stubs. */ - if (bfd_elf_discard_info (link_info.output_bfd, & link_info)) + ret = bfd_elf_discard_info (link_info.output_bfd, & link_info); + if (ret < 0) + { + einfo ("%X%P: .eh_frame/.stab edit: %E\n"); + return; + } + else if (ret > 0) need_laying_out = 1; /* If generating a relocatable output file, then we don't have to examine the relocs. */ if (stub_file != NULL && !link_info.relocatable) { - int ret = elf32_arm_setup_section_lists (link_info.output_bfd, & link_info); - + ret = elf32_arm_setup_section_lists (link_info.output_bfd, &link_info); if (ret != 0) { if (ret < 0) |