diff options
author | Alan Modra <amodra@gmail.com> | 2009-03-19 07:04:12 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2009-03-19 07:04:12 +0000 |
commit | ad2adbc8be4dcdb881fb2c725c0d3a5d3e214afd (patch) | |
tree | 336a8fe5f1e4254dba02d47f62e6d6434b380778 /ld/emultempl | |
parent | 0d371ad35608efa28b1ea2c01a457de59b59e3e1 (diff) | |
download | gdb-ad2adbc8be4dcdb881fb2c725c0d3a5d3e214afd.zip gdb-ad2adbc8be4dcdb881fb2c725c0d3a5d3e214afd.tar.gz 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/emultempl')
-rw-r--r-- | ld/emultempl/spuelf.em | 8 |
1 files changed, 6 insertions, 2 deletions
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) |