From ad2adbc8be4dcdb881fb2c725c0d3a5d3e214afd Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 19 Mar 2009 07:04:12 +0000 Subject: 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. --- ld/ChangeLog | 5 +++++ ld/emultempl/spuelf.em | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'ld') 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 + + * emultempl/spuelf.em (spu_before_allocation): Report errors from + spu_elf_find_overlays. + 2009-03-18 H.J. Lu 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) -- cgit v1.1