aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2009-03-19 07:04:12 +0000
committerAlan Modra <amodra@gmail.com>2009-03-19 07:04:12 +0000
commitad2adbc8be4dcdb881fb2c725c0d3a5d3e214afd (patch)
tree336a8fe5f1e4254dba02d47f62e6d6434b380778 /ld
parent0d371ad35608efa28b1ea2c01a457de59b59e3e1 (diff)
downloadfsf-binutils-gdb-ad2adbc8be4dcdb881fb2c725c0d3a5d3e214afd.zip
fsf-binutils-gdb-ad2adbc8be4dcdb881fb2c725c0d3a5d3e214afd.tar.gz
fsf-binutils-gdb-ad2adbc8be4dcdb881fb2c725c0d3a5d3e214afd.tar.bz2
bfd/
* elf32-spu.c (spu_elf_find_overlays): Separate error return from "no overlays" return. If there are overlays, create overlay manager entry symbols here, so that.. (spu_elf_build_stubs): ..we don't need to set them up here. Simplify entry symbol tests. * elf32-spu.h (spu_elf_find_overlays): Update prototype. ld/ * emultempl/spuelf.em (spu_before_allocation): Report errors from spu_elf_find_overlays.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/emultempl/spuelf.em8
2 files changed, 11 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 4e28d97..a0bc21c 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2009-03-19 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/spuelf.em (spu_before_allocation): Report errors from
+ spu_elf_find_overlays.
+
2009-03-18 H.J. Lu <hongjiu.lu@intel.com>
PR ld/6766
diff --git a/ld/emultempl/spuelf.em b/ld/emultempl/spuelf.em
index 02b5499..06c22b8 100644
--- a/ld/emultempl/spuelf.em
+++ b/ld/emultempl/spuelf.em
@@ -266,6 +266,8 @@ spu_before_allocation (void)
&& !link_info.relocatable
&& !no_overlays)
{
+ int ret;
+
/* Size the sections. This is premature, but we need to know the
rough layout so that overlays can be found. */
expld.phase = lang_mark_phase_enum;
@@ -273,9 +275,11 @@ spu_before_allocation (void)
one_lang_size_sections_pass (NULL, TRUE);
/* Find overlays by inspecting section vmas. */
- if (spu_elf_find_overlays (&link_info))
+ ret = spu_elf_find_overlays (&link_info);
+ if (ret == 0)
+ einfo ("%X%P: can not find overlays: %E\n");
+ else if (ret == 2)
{
- int ret;
lang_output_section_statement_type *os;
if (params.auto_overlay != 0)