to _binary_spu_ovl_o_start.
(_binary_builtin_ovl_mgr_end): Rename to _binary_spu_ovl_o_end.
(spu_elf_load_ovl_mgr): Fatal error on missing overlay manager.
* emultempl/spu_inc.s: Rename symbols.
* emultempl/spu_none.s: New file.
* emultempl/spu_ovl.S: Update copyright.
* Makefile.am (spu_inc.o): Try building with ld -r first, then
gas incbin, then build without overlay manager.
* Makefile.in: Regenerate.
+2007-02-26 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/spuelf.em (_binary_builtin_ovl_mgr_start): Rename
+ to _binary_spu_ovl_o_start.
+ (_binary_builtin_ovl_mgr_end): Rename to _binary_spu_ovl_o_end.
+ (spu_elf_load_ovl_mgr): Fatal error on missing overlay manager.
+ * emultempl/spu_inc.s: Rename symbols.
+ * emultempl/spu_none.s: New file.
+ * emultempl/spu_ovl.S: Update copyright.
+ * Makefile.am (spu_inc.o): Try building with ld -r first, then
+ gas incbin, then build without overlay manager.
+ * Makefile.in: Regenerate.
+
2007-02-22 Joseph Myers <joseph@codesourcery.com>
* configure.tgt (mips64*el-*-linux-*, mips64*-*-linux-*,
eelf32_spu.c: $(srcdir)/emulparams/elf32_spu.sh $(srcdir)/emultempl/spuelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32_spu "$(tdir_elf32_spu)"
-spu_inc.o: $(srcdir)/emultempl/spu_inc.s $(srcdir)/emultempl/spu_ovl.o
- $(CC) -c -Wa,-I,$(srcdir)/emultempl -o $@ $<
+spu_inc.o: $(srcdir)/emultempl/spu_inc.s $(srcdir)/emultempl/spu_none.s \
+ $(srcdir)/emultempl/spu_ovl.o
+ cp $(srcdir)/emultempl/spu_ovl.o spu_ovl.o; \
+ if ! ld -r -o $@ -b binary spu_ovl.o; then \
+ if ! $(CC) -c -o $@ $(srcdir)/emultempl/spu_inc.s; then \
+ $(CC) -c -o $@ $(srcdir)/emultempl/spu_none.s; \
+ fi \
+ fi
$(srcdir)/emultempl/spu_ovl.o: @MAINT@ $(srcdir)/emultempl/spu_ovl.S
cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_ovl.S spu_ovl.s
if ../gas/as-new --version \
eelf32_spu.c: $(srcdir)/emulparams/elf32_spu.sh $(srcdir)/emultempl/spuelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32_spu "$(tdir_elf32_spu)"
-spu_inc.o: $(srcdir)/emultempl/spu_inc.s $(srcdir)/emultempl/spu_ovl.o
- $(CC) -c -Wa,-I,$(srcdir)/emultempl -o $@ $<
+spu_inc.o: $(srcdir)/emultempl/spu_inc.s $(srcdir)/emultempl/spu_none.s \
+ $(srcdir)/emultempl/spu_ovl.o
+ cp $(srcdir)/emultempl/spu_ovl.o spu_ovl.o; \
+ if ! ld -r -o $@ -b binary spu_ovl.o; then \
+ if ! $(CC) -c -o $@ $(srcdir)/emultempl/spu_inc.s; then \
+ $(CC) -c -o $@ $(srcdir)/emultempl/spu_none.s; \
+ fi \
+ fi
$(srcdir)/emultempl/spu_ovl.o: @MAINT@ $(srcdir)/emultempl/spu_ovl.S
cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_ovl.S spu_ovl.s
if ../gas/as-new --version \
.text
- .globl _binary_builtin_ovl_mgr_start
- .globl _binary_builtin_ovl_mgr_end
+ .globl _binary_spu_ovl_o_start
+ .globl _binary_spu_ovl_o_end
-_binary_builtin_ovl_mgr_start:
+_binary_spu_ovl_o_start:
.incbin "spu_ovl.o"
-_binary_builtin_ovl_mgr_end:
+_binary_spu_ovl_o_end:
--- /dev/null
+ .text
+ .globl _binary_spu_ovl_o_start
+ .globl _binary_spu_ovl_o_end
+
+_binary_spu_ovl_o_start:
+_binary_spu_ovl_o_end:
/* Overlay manager for SPU.
- Copyright 2006 Free Software Foundation, Inc.
+ Copyright 2006, 2007 Free Software Foundation, Inc.
This file is part of GLD, the Gnu Linker.
static bfd_vma local_store_lo = 0;
static bfd_vma local_store_hi = 0x3ffff;
-extern void *_binary_builtin_ovl_mgr_start;
-extern void *_binary_builtin_ovl_mgr_end;
+extern void *_binary_spu_ovl_o_start;
+extern void *_binary_spu_ovl_o_end;
static const struct _ovl_stream ovl_mgr_stream = {
- &_binary_builtin_ovl_mgr_start,
- &_binary_builtin_ovl_mgr_end
+ &_binary_spu_ovl_o_start,
+ &_binary_spu_ovl_o_end
};
static asection *toe = NULL;
{
/* User supplied __ovly_load. */
}
+ else if (ovl_mgr_stream.start == ovl_mgr_stream.end)
+ einfo ("%F%P: no built-in overlay manager\n");
else
{
lang_input_statement_type *ovl_is;