summaryrefslogtreecommitdiff
path: root/ld/emultempl/ppc64elf.em
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2005-02-16 02:20:13 +0000
committerAlan Modra <amodra@bigpond.net.au>2005-02-16 02:20:13 +0000
commit8bf410a96a3e03c095f62f10881b9c19c5914b20 (patch)
treeb94bce68926a561795148066ca0d0a8432980bf5 /ld/emultempl/ppc64elf.em
parent1ba6190aba3a6fcc4e4201a271919f0a79f80fcf (diff)
downloadbinutils-redhat-8bf410a96a3e03c095f62f10881b9c19c5914b20.tar.gz
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/emultempl/ppc64elf.em')
-rw-r--r--ld/emultempl/ppc64elf.em32
1 files changed, 8 insertions, 24 deletions
diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em
index de4f02fcd6..22bcf30b4a 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");
}
}