aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/.Sanitize12
-rw-r--r--ld/Makefile.in5
-rw-r--r--ld/config/.Sanitize1
-rw-r--r--ld/config/mips-idt.mt1
-rw-r--r--ld/mips.sc-sh16
-rw-r--r--ld/mipsidt.sh9
6 files changed, 37 insertions, 7 deletions
diff --git a/ld/.Sanitize b/ld/.Sanitize
index e5c729e..3ecc8ed 100644
--- a/ld/.Sanitize
+++ b/ld/.Sanitize
@@ -108,6 +108,7 @@ m88kbcs.sh
mips.sc-sh
mipsbig.sh
mipsbsd.sh
+mipsidt.sh
mipslit.sh
mri.c
mri.h
@@ -161,7 +162,16 @@ fi
#
#
# $Log$
-# Revision 1.52 1993/02/28 14:42:15 raeburn
+# Revision 1.53 1993/03/04 20:49:05 ian
+# * mips.sc-sh: Added variables which may be overridden by a
+# specific emulation.
+# * mipsidt.sh: New file; emulation for IDT MIPS board.
+# * Makefile.in (ALL_EMULATIONS): Added em_mipsidt.o.
+# (em_mipsidt.c): New target. Uses mipsidt.sh and mips.sc-sh.
+# * config/mips-idt.mt: New file; sets EMUL to mipsidt.
+# * configure.in (mips-idt-ecoff): New target; uses mips-idt.
+#
+# Revision 1.52 1993/02/28 14:42:15 raeburn
# mips-bsd and 386bsd support
#
# Revision 1.51 1993/02/26 18:53:13 dje
diff --git a/ld/Makefile.in b/ld/Makefile.in
index e0dad2d..8b64bc8 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -120,7 +120,7 @@ ALL_EMULATIONS=em_lnk960.o em_sun3.o em_i386aout.o em_go32.o \
em_h8300hms.o em_ebmon29k.o em_sun4.o em_gld960.o \
em_m68kcoff.o em_h8300xray.o em_st2000.o em_sa29200.o \
em_vanilla.o em_i386coff.o em_z8ksim.o em_mipslit.o em_i386bsd.o \
- em_mipsbig.o em_mipsbsd.o
+ em_mipsbig.o em_mipsbsd.o em_mipsidt.o
EMULATION_OFILES=${ALL_EMULATIONS}
#EMULATION_OFILES=em_${EMUL}.o ${OTHER_EMULATIONS}
@@ -268,6 +268,9 @@ em_mipsbig.c: $(srcdir)/mipsbig.sh \
em_mipsbsd.c: $(srcdir)/mipsbsd.sh \
$(srcdir)/generic.em $(srcdir)/aout.sc-sh ${GEN_DEPENDS}
${GENSCRIPTS} mipsbsd.sh
+em_mipsidt.c: $(srcdir)/mipsidt.sh \
+ $(srcdir)/generic.em $(srcdir)/mips.sc-sh ${GEN_DEPENDS}
+ ${GENSCRIPTS} mipsidt.sh
$(LD_PROG): $(OFILES) $(BFDLIB) $(LIBIBERTY)
$(CC) $(CFLAGS) $(INCLUDES) $(HDEFINES) $(TDEFINES) $(CDEFINES) $(LDFLAGS) -o $(LD_PROG) $(OFILES) $(BFDLIB) $(LIBIBERTY) $(LOADLIBES)
diff --git a/ld/config/.Sanitize b/ld/config/.Sanitize
index 756ef0f..42495a0 100644
--- a/ld/config/.Sanitize
+++ b/ld/config/.Sanitize
@@ -43,6 +43,7 @@ m68kv.mt
m88k-bcs.mt
mipsbsd.mt
mips-big.mt
+mips-idt.mt
mips-lit.mt
news.mt
ose68.mt
diff --git a/ld/config/mips-idt.mt b/ld/config/mips-idt.mt
new file mode 100644
index 0000000..5c3920b
--- /dev/null
+++ b/ld/config/mips-idt.mt
@@ -0,0 +1 @@
+EMUL=mipsidt
diff --git a/ld/mips.sc-sh b/ld/mips.sc-sh
index 726543c..afb3216 100644
--- a/ld/mips.sc-sh
+++ b/ld/mips.sc-sh
@@ -1,22 +1,27 @@
-# Linker script for MIPS. This works on a DECstation running Ultrix,
-# and may work on other platforms as well.
+# Linker script for MIPS systems.
# Ian Lance Taylor <ian@cygnus.com>.
+# These variables may be overridden by the emulation file. The
+# defaults are appropriate for a DECstation running Ultrix.
+test -z "$ENTRY" && ENTRY=__start
+test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x400000 + SIZEOF_HEADERS"
+test -z "$DATA_ADDR" && DATA_ADDR=0x10000000
+test -z "$BSS_VAR" && BSS_VAR=
cat <<EOF
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
-ENTRY(__start)
+ENTRY(${ENTRY})
SECTIONS
{
- .text ${RELOCATING+ 0x400000 + SIZEOF_HEADERS} : {
+ .text ${RELOCATING+ ${TEXT_START_ADDR}} : {
*(.init)
${RELOCATING+ eprol = .};
*(.text)
*(.fini)
${RELOCATING+ etext = .};
}
- .rdata ${RELOCATING+ 0x10000000} : {
+ .rdata ${RELOCATING+ ${DATA_ADDR}} : {
*(.rdata)
}
.data ${RELOCATING+ .} : {
@@ -33,6 +38,7 @@ SECTIONS
*(.sdata)
}
${RELOCATING+ edata = .;}
+ ${BSS_VAR}
.sbss ${RELOCATING+ .} : {
*(.sbss)
*(.scommon)
diff --git a/ld/mipsidt.sh b/ld/mipsidt.sh
new file mode 100644
index 0000000..6d55bdf
--- /dev/null
+++ b/ld/mipsidt.sh
@@ -0,0 +1,9 @@
+EMULATION_NAME=mipsidt
+SCRIPT_NAME=mips
+OUTPUT_FORMAT="ecoff-bigmips"
+PAGE_SIZE=0x1000000
+ARCH=mips
+ENTRY=start
+TEXT_START_ADDR=0xa0012000
+DATA_ADDR=.
+BSS_VAR="_fbss = .;"