* 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.
This commit is contained in:
Alan Modra 2007-02-26 08:58:16 +00:00
parent 56b60c14ab
commit 45d3b878ab
7 changed files with 46 additions and 13 deletions

View file

@ -1,3 +1,16 @@
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> 2007-02-22 Joseph Myers <joseph@codesourcery.com>
* configure.tgt (mips64*el-*-linux-*, mips64*-*-linux-*, * configure.tgt (mips64*el-*-linux-*, mips64*-*-linux-*,

View file

@ -724,8 +724,14 @@ eelf32_sparc_vxworks.c: $(srcdir)/emulparams/elf32_sparc_vxworks.sh \
eelf32_spu.c: $(srcdir)/emulparams/elf32_spu.sh $(srcdir)/emultempl/spuelf.em \ eelf32_spu.c: $(srcdir)/emulparams/elf32_spu.sh $(srcdir)/emultempl/spuelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32_spu "$(tdir_elf32_spu)" ${GENSCRIPTS} elf32_spu "$(tdir_elf32_spu)"
spu_inc.o: $(srcdir)/emultempl/spu_inc.s $(srcdir)/emultempl/spu_ovl.o spu_inc.o: $(srcdir)/emultempl/spu_inc.s $(srcdir)/emultempl/spu_none.s \
$(CC) -c -Wa,-I,$(srcdir)/emultempl -o $@ $< $(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 $(srcdir)/emultempl/spu_ovl.o: @MAINT@ $(srcdir)/emultempl/spu_ovl.S
cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_ovl.S spu_ovl.s cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_ovl.S spu_ovl.s
if ../gas/as-new --version \ if ../gas/as-new --version \

View file

@ -1535,8 +1535,14 @@ eelf32_sparc_vxworks.c: $(srcdir)/emulparams/elf32_sparc_vxworks.sh \
eelf32_spu.c: $(srcdir)/emulparams/elf32_spu.sh $(srcdir)/emultempl/spuelf.em \ eelf32_spu.c: $(srcdir)/emulparams/elf32_spu.sh $(srcdir)/emultempl/spuelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32_spu "$(tdir_elf32_spu)" ${GENSCRIPTS} elf32_spu "$(tdir_elf32_spu)"
spu_inc.o: $(srcdir)/emultempl/spu_inc.s $(srcdir)/emultempl/spu_ovl.o spu_inc.o: $(srcdir)/emultempl/spu_inc.s $(srcdir)/emultempl/spu_none.s \
$(CC) -c -Wa,-I,$(srcdir)/emultempl -o $@ $< $(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 $(srcdir)/emultempl/spu_ovl.o: @MAINT@ $(srcdir)/emultempl/spu_ovl.S
cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_ovl.S spu_ovl.s cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_ovl.S spu_ovl.s
if ../gas/as-new --version \ if ../gas/as-new --version \

View file

@ -1,7 +1,7 @@
.text .text
.globl _binary_builtin_ovl_mgr_start .globl _binary_spu_ovl_o_start
.globl _binary_builtin_ovl_mgr_end .globl _binary_spu_ovl_o_end
_binary_builtin_ovl_mgr_start: _binary_spu_ovl_o_start:
.incbin "spu_ovl.o" .incbin "spu_ovl.o"
_binary_builtin_ovl_mgr_end: _binary_spu_ovl_o_end:

6
ld/emultempl/spu_none.s Normal file
View file

@ -0,0 +1,6 @@
.text
.globl _binary_spu_ovl_o_start
.globl _binary_spu_ovl_o_end
_binary_spu_ovl_o_start:
_binary_spu_ovl_o_end:

View file

@ -1,6 +1,6 @@
/* Overlay manager for SPU. /* 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. This file is part of GLD, the Gnu Linker.

View file

@ -38,12 +38,12 @@ static int emit_stub_syms = 0;
static bfd_vma local_store_lo = 0; static bfd_vma local_store_lo = 0;
static bfd_vma local_store_hi = 0x3ffff; static bfd_vma local_store_hi = 0x3ffff;
extern void *_binary_builtin_ovl_mgr_start; extern void *_binary_spu_ovl_o_start;
extern void *_binary_builtin_ovl_mgr_end; extern void *_binary_spu_ovl_o_end;
static const struct _ovl_stream ovl_mgr_stream = { static const struct _ovl_stream ovl_mgr_stream = {
&_binary_builtin_ovl_mgr_start, &_binary_spu_ovl_o_start,
&_binary_builtin_ovl_mgr_end &_binary_spu_ovl_o_end
}; };
static asection *toe = NULL; static asection *toe = NULL;
@ -118,6 +118,8 @@ spu_elf_load_ovl_mgr (void)
{ {
/* User supplied __ovly_load. */ /* User supplied __ovly_load. */
} }
else if (ovl_mgr_stream.start == ovl_mgr_stream.end)
einfo ("%F%P: no built-in overlay manager\n");
else else
{ {
lang_input_statement_type *ovl_is; lang_input_statement_type *ovl_is;