summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2008-03-14 04:42:44 +0000
committerAlan Modra <amodra@bigpond.net.au>2008-03-14 04:42:44 +0000
commite37b518b3676d28d30fc0992fac7f484cccb9533 (patch)
tree2fd7bf84076f77693ca4c082722382b6b6e290e4
parent1b5a3c050c3df95bffd2e2beabbb3a976bc9201f (diff)
downloadbinutils-redhat-e37b518b3676d28d30fc0992fac7f484cccb9533.tar.gz
* emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Protect
spu_elf_build_stubs with is_spu_target.
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/emultempl/spuelf.em23
2 files changed, 18 insertions, 10 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 179f7a7943..9850e52862 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2008-03-14 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Protect
+ spu_elf_build_stubs with is_spu_target.
+
2008-03-13 Alan Modra <amodra@bigpond.net.au>
* Makefile.am: Run "make dep-am".
diff --git a/ld/emultempl/spuelf.em b/ld/emultempl/spuelf.em
index 14d1d9e66f..fa28212bbd 100644
--- a/ld/emultempl/spuelf.em
+++ b/ld/emultempl/spuelf.em
@@ -229,20 +229,23 @@ gld${EMULATION_NAME}_finish (void)
gld${EMULATION_NAME}_map_segments (need_laying_out);
- if (is_spu_target () && local_store_lo < local_store_hi)
+ if (is_spu_target ())
{
- asection *s;
+ if (local_store_lo < local_store_hi)
+ {
+ asection *s;
+
+ s = spu_elf_check_vma (link_info.output_bfd,
+ local_store_lo, local_store_hi);
+ if (s != NULL)
+ einfo ("%X%P: %A exceeds local store range\n", s);
+ }
- s = spu_elf_check_vma (link_info.output_bfd,
- local_store_lo, local_store_hi);
- if (s != NULL)
- einfo ("%X%P: %A exceeds local store range\n", s);
+ if (!spu_elf_build_stubs (&link_info,
+ emit_stub_syms || link_info.emitrelocations))
+ einfo ("%X%P: can not build overlay stubs: %E\n");
}
- if (!spu_elf_build_stubs (&link_info,
- emit_stub_syms || link_info.emitrelocations))
- einfo ("%X%P: can not build overlay stubs: %E\n");
-
finish_default ();
}