diff options
author | Alan Modra <amodra@gmail.com> | 2005-02-16 02:20:13 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2005-02-16 02:20:13 +0000 |
commit | 92b7a70fca9da1403097b63f62afb5f4e634b6a8 (patch) | |
tree | 2f79ad4967d051b903979114eac88a0be3402635 /ld | |
parent | 55e5a6d08652d08d10e50b4c45208829885a990b (diff) | |
download | binutils-92b7a70fca9da1403097b63f62afb5f4e634b6a8.zip binutils-92b7a70fca9da1403097b63f62afb5f4e634b6a8.tar.gz binutils-92b7a70fca9da1403097b63f62afb5f4e634b6a8.tar.bz2 |
bfd/
* elf64-ppc.c (ppc64_elf_edit_toc): Skip toc if size is zero.
Skip toc reloc adjust if reloc_count is zero.
ld/
* emultempl/ppc64elf.em (ppc_create_output_section_statements): Make
an error creating fake bfd fatal.
(ppc_before_allocation): Continue on after errors.
(gld${EMULATION_NAME}_finish): Likewise.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 7 | ||||
-rw-r--r-- | ld/emultempl/ppc64elf.em | 32 |
2 files changed, 15 insertions, 24 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index e84e3d5..97c7d98 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2005-02-16 Alan Modra <amodra@bigpond.net.au> + + * emultempl/ppc64elf.em (ppc_create_output_section_statements): Make + an error creating fake bfd fatal. + (ppc_before_allocation): Continue on after errors. + (gld${EMULATION_NAME}_finish): Likewise. + 2005-02-15 Nick Clifton <nickc@redhat.com> * ldlex.l (YY_NO_UNPUT): Define so that the yy_unput function is diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em index de4f02f..22bcf30 100644 --- a/ld/emultempl/ppc64elf.em +++ b/ld/emultempl/ppc64elf.em @@ -88,7 +88,7 @@ ppc_create_output_section_statements (void) bfd_get_arch (output_bfd), bfd_get_mach (output_bfd))) { - einfo ("%X%P: can not create BFD %E\n"); + einfo ("%F%P: can not create BFD %E\n"); return; } @@ -104,10 +104,7 @@ ppc_before_allocation (void) { if (!no_opd_opt && !ppc64_elf_edit_opd (output_bfd, &link_info, non_overlapping_opd)) - { - einfo ("%X%P: can not edit %s %E\n", "opd"); - return; - } + einfo ("%X%P: can not edit %s %E\n", "opd"); if (ppc64_elf_tls_setup (output_bfd, &link_info) && !no_tls_opt) { @@ -117,10 +114,7 @@ ppc_before_allocation (void) &stat_ptr->head, 0, 0, NULL, TRUE); if (!ppc64_elf_tls_optimize (output_bfd, &link_info)) - { - einfo ("%X%P: TLS problem %E\n"); - return; - } + einfo ("%X%P: TLS problem %E\n"); /* We must not cache anything from the preliminary sizing. */ elf_tdata (output_bfd)->program_header_size = 0; @@ -130,10 +124,7 @@ ppc_before_allocation (void) if (!no_toc_opt && !link_info.relocatable && !ppc64_elf_edit_toc (output_bfd, &link_info)) - { - einfo ("%X%P: can not edit %s %E\n", "toc"); - return; - } + einfo ("%X%P: can not edit %s %E\n", "toc"); } gld${EMULATION_NAME}_before_allocation (); @@ -343,14 +334,10 @@ gld${EMULATION_NAME}_finish (void) { int ret = ppc64_elf_setup_section_lists (output_bfd, &link_info, no_multi_toc); - if (ret != 0) + if (ret < 0) + einfo ("%X%P: can not size stub section: %E\n"); + else if (ret > 0) { - if (ret < 0) - { - einfo ("%X%P: can not size stub section: %E\n"); - return; - } - toc_section = bfd_get_section_by_name (output_bfd, ".got"); if (toc_section != NULL) lang_for_each_statement (build_toc_list); @@ -365,10 +352,7 @@ gld${EMULATION_NAME}_finish (void) group_size, &ppc_add_stub_section, &ppc_layout_sections_again)) - { - einfo ("%X%P: can not size stub section: %E\n"); - return; - } + einfo ("%X%P: can not size stub section: %E\n"); } } |