aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2005-02-16 02:20:13 +0000
committerAlan Modra <amodra@gmail.com>2005-02-16 02:20:13 +0000
commit92b7a70fca9da1403097b63f62afb5f4e634b6a8 (patch)
tree2f79ad4967d051b903979114eac88a0be3402635 /ld
parent55e5a6d08652d08d10e50b4c45208829885a990b (diff)
downloadfsf-binutils-gdb-92b7a70fca9da1403097b63f62afb5f4e634b6a8.zip
fsf-binutils-gdb-92b7a70fca9da1403097b63f62afb5f4e634b6a8.tar.gz
fsf-binutils-gdb-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/ChangeLog7
-rw-r--r--ld/emultempl/ppc64elf.em32
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");
}
}