* emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Protect
authorAlan Modra <amodra@gmail.com>
Fri, 14 Mar 2008 04:42:44 +0000 (04:42 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 14 Mar 2008 04:42:44 +0000 (04:42 +0000)
spu_elf_build_stubs with is_spu_target.

ld/ChangeLog
ld/emultempl/spuelf.em

index 179f7a7..9850e52 100644 (file)
@@ -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".
index 14d1d9e..fa28212 100644 (file)
@@ -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 ();
 }