aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2007-02-27 08:33:25 +0000
committerAlan Modra <amodra@gmail.com>2007-02-27 08:33:25 +0000
commit671ace2fe0c6118281056456fe2f9212138da1bb (patch)
treeb75413af3aac5beffffec60de090c0e982b9b210 /ld/emultempl
parentcd14b9662a90756a8dc0f465ae1e16c6d3b216da (diff)
downloadbinutils-671ace2fe0c6118281056456fe2f9212138da1bb.zip
binutils-671ace2fe0c6118281056456fe2f9212138da1bb.tar.gz
binutils-671ace2fe0c6118281056456fe2f9212138da1bb.tar.bz2
* Makefile.am (ALL_EMUL_EXTRA_OFILES): Remove spu_inc.o.
(eelf32_spu.c): Adjust dependencies. * Makefile.in: Regenerate. * emultempl/spuelf.em (ovl_mgr): New array. Insert spu_ovl.o code using bin2c. (_binary_spu_ovl_o_start, _binary_spu_ovl_o_end): Delete. (ovl_mgr_stream): Update. * emultempl/spu_inc.s: Delete. * emultempl/spu_none.s: Delete.
Diffstat (limited to 'ld/emultempl')
-rw-r--r--ld/emultempl/spu_inc.s7
-rw-r--r--ld/emultempl/spu_none.s6
-rw-r--r--ld/emultempl/spuelf.em15
3 files changed, 10 insertions, 18 deletions
diff --git a/ld/emultempl/spu_inc.s b/ld/emultempl/spu_inc.s
deleted file mode 100644
index 29a076c..0000000
--- a/ld/emultempl/spu_inc.s
+++ /dev/null
@@ -1,7 +0,0 @@
- .text
- .globl _binary_spu_ovl_o_start
- .globl _binary_spu_ovl_o_end
-
-_binary_spu_ovl_o_start:
- .incbin "spu_ovl.o"
-_binary_spu_ovl_o_end:
diff --git a/ld/emultempl/spu_none.s b/ld/emultempl/spu_none.s
deleted file mode 100644
index f0d2318..0000000
--- a/ld/emultempl/spu_none.s
+++ /dev/null
@@ -1,6 +0,0 @@
- .text
- .globl _binary_spu_ovl_o_start
- .globl _binary_spu_ovl_o_end
-
-_binary_spu_ovl_o_start:
-_binary_spu_ovl_o_end:
diff --git a/ld/emultempl/spuelf.em b/ld/emultempl/spuelf.em
index 95b1cb2..d6681ad 100644
--- a/ld/emultempl/spuelf.em
+++ b/ld/emultempl/spuelf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2006 Free Software Foundation, Inc.
+# Copyright 2006, 2007 Free Software Foundation, Inc.
#
# This file is part of GLD, the Gnu Linker.
#
@@ -38,12 +38,17 @@ static int emit_stub_syms = 0;
static bfd_vma local_store_lo = 0;
static bfd_vma local_store_hi = 0x3ffff;
-extern void *_binary_spu_ovl_o_start;
-extern void *_binary_spu_ovl_o_end;
+static const char ovl_mgr[] = {
+EOF
+
+../binutils/bin2c < ${srcdir}/emultempl/spu_ovl.o >> e${EMULATION_NAME}.c
+
+cat >>e${EMULATION_NAME}.c <<EOF
+};
static const struct _ovl_stream ovl_mgr_stream = {
- &_binary_spu_ovl_o_start,
- &_binary_spu_ovl_o_end
+ ovl_mgr,
+ ovl_mgr + sizeof (ovl_mgr)
};
static asection *toe = NULL;