aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog14
-rw-r--r--ld/Makefile.am289
-rw-r--r--ld/Makefile.in295
-rw-r--r--ld/emulparams/msp430all.sh804
-rw-r--r--ld/emulparams/msp430x110.sh14
-rw-r--r--ld/emulparams/msp430x1101.sh14
-rw-r--r--ld/emulparams/msp430x1111.sh14
-rw-r--r--ld/emulparams/msp430x112.sh14
-rw-r--r--ld/emulparams/msp430x1121.sh14
-rw-r--r--ld/emulparams/msp430x1122.sh14
-rw-r--r--ld/emulparams/msp430x1132.sh14
-rw-r--r--ld/emulparams/msp430x122.sh14
-rw-r--r--ld/emulparams/msp430x1222.sh14
-rw-r--r--ld/emulparams/msp430x123.sh14
-rw-r--r--ld/emulparams/msp430x1232.sh14
-rw-r--r--ld/emulparams/msp430x133.sh14
-rw-r--r--ld/emulparams/msp430x1331.sh14
-rw-r--r--ld/emulparams/msp430x135.sh14
-rw-r--r--ld/emulparams/msp430x1351.sh14
-rw-r--r--ld/emulparams/msp430x147.sh14
-rw-r--r--ld/emulparams/msp430x148.sh14
-rw-r--r--ld/emulparams/msp430x149.sh14
-rw-r--r--ld/emulparams/msp430x155.sh14
-rw-r--r--ld/emulparams/msp430x156.sh14
-rw-r--r--ld/emulparams/msp430x157.sh14
-rw-r--r--ld/emulparams/msp430x167.sh14
-rw-r--r--ld/emulparams/msp430x168.sh14
-rw-r--r--ld/emulparams/msp430x169.sh14
-rw-r--r--ld/emulparams/msp430x311.sh14
-rw-r--r--ld/emulparams/msp430x312.sh14
-rw-r--r--ld/emulparams/msp430x313.sh14
-rw-r--r--ld/emulparams/msp430x314.sh14
-rw-r--r--ld/emulparams/msp430x315.sh14
-rw-r--r--ld/emulparams/msp430x323.sh14
-rw-r--r--ld/emulparams/msp430x325.sh14
-rw-r--r--ld/emulparams/msp430x336.sh14
-rw-r--r--ld/emulparams/msp430x337.sh14
-rw-r--r--ld/emulparams/msp430x412.sh14
-rw-r--r--ld/emulparams/msp430x413.sh14
-rw-r--r--ld/emulparams/msp430x435.sh14
-rw-r--r--ld/emulparams/msp430x436.sh14
-rw-r--r--ld/emulparams/msp430x437.sh14
-rw-r--r--ld/emulparams/msp430x447.sh14
-rw-r--r--ld/emulparams/msp430x448.sh14
-rw-r--r--ld/emulparams/msp430x449.sh14
-rw-r--r--ld/emulparams/msp430xE423.sh14
-rw-r--r--ld/emulparams/msp430xE425.sh14
-rw-r--r--ld/emulparams/msp430xE427.sh14
-rw-r--r--ld/emulparams/msp430xW423.sh14
-rw-r--r--ld/emulparams/msp430xW425.sh14
-rw-r--r--ld/emulparams/msp430xW427.sh14
-rwxr-xr-xld/genscripts_extra.sh335
52 files changed, 1452 insertions, 943 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index fdfc96b..65da76f 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,17 @@
+2003-08-15 Dmitry Diky <diwil@mail.ru>
+
+ * Makefile.am (GENSCRIPTS_EXTRA): New script definition which
+ calls genscripts_extra.sh.
+ Rearrange all msp430 depends using this script.
+ * Makefile.in: Regenerate.
+ * genscripts_extra.sh: New file: Similar to genscripts.sh, except
+ that the script to be run to generate the emulations can be passed
+ as an optional parameter instead of being computed from the
+ emulation name.
+ * emulparams/msp430all.sh: New file: Combine all msp430 subdevice
+ definitions into one file.
+ * emulparams/msp430x*.sh: Removed.
+
2003-08-15 Nick Clifton <nickc@redhat.com>
* ld.texinfo (Options): Put keywords for the -z option into a
diff --git a/ld/Makefile.am b/ld/Makefile.am
index daea9ba..00c4998 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -445,6 +445,13 @@ stringify.sed: ${srcdir}/emultempl/$(STRINGIFY)
GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh ${srcdir} ${libdir} "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@
GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed
+
+# FIXME: genscripts_extra.sh is a drop in replacement for genscripts.sh
+# with some added functionality. The rules below ought to be changed
+# to use genscripts_extra.sh and then genscripts.sh should be made obsolete.
+GENSCRIPTS_EXTRA = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts_extra.sh ${srcdir} ${libdir} "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@
+GEN_EXTRA_DEPENDS = $(srcdir)/genscripts_extra.sh stringify.sed
+
@TDIRS@
ea29k.c: $(srcdir)/emulparams/a29k.sh \
@@ -1072,194 +1079,194 @@ emn10300.c: $(srcdir)/emulparams/mn10300.sh \
emn10200.c: $(srcdir)/emulparams/mn10200.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} mn10200 "$(tdir_mn10200)"
-emsp430x110.c: $(srcdir)/emulparams/msp430x110.sh \
+emsp430x110.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x110 "$(tdir_msp430x110)"
-emsp430x112.c: $(srcdir)/emulparams/msp430x112.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x110 "$(tdir_msp430x110)" msp430all
+emsp430x112.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x112 "$(tdir_msp430x112)"
-emsp430x1101.c: $(srcdir)/emulparams/msp430x1101.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x112 "$(tdir_msp430x112)" msp430all
+emsp430x1101.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1101 "$(tdir_msp430x1101)"
-emsp430x1111.c: $(srcdir)/emulparams/msp430x1111.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1101 "$(tdir_msp430x1101)" msp430all
+emsp430x1111.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1111 "$(tdir_msp430x1111)"
-emsp430x1121.c: $(srcdir)/emulparams/msp430x1121.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1111 "$(tdir_msp430x1111)" msp430all
+emsp430x1121.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1121 "$(tdir_msp430x1121)"
-emsp430x1122.c: $(srcdir)/emulparams/msp430x1122.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1121 "$(tdir_msp430x1121)" msp430all
+emsp430x1122.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1122 "$(tdir_msp430x1122)"
-emsp430x1132.c: $(srcdir)/emulparams/msp430x1132.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1122 "$(tdir_msp430x1122)" msp430all
+emsp430x1132.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1132 "$(tdir_msp430x1132)"
-emsp430x122.c: $(srcdir)/emulparams/msp430x122.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1132 "$(tdir_msp430x1132)" msp430all
+emsp430x122.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x122 "$(tdir_msp430x122)"
-emsp430x123.c: $(srcdir)/emulparams/msp430x123.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x122 "$(tdir_msp430x122)" msp430all
+emsp430x123.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x123 "$(tdir_msp430x123)"
-emsp430x1222.c: $(srcdir)/emulparams/msp430x1222.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x123 "$(tdir_msp430x123)" msp430all
+emsp430x1222.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1222 "$(tdir_msp430x1222)"
-emsp430x1232.c: $(srcdir)/emulparams/msp430x1232.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1222 "$(tdir_msp430x1222)" msp430all
+emsp430x1232.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1232 "$(tdir_msp430x1232)"
-emsp430x133.c: $(srcdir)/emulparams/msp430x133.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1232 "$(tdir_msp430x1232)" msp430all
+emsp430x133.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x133 "$(tdir_msp430x133)"
-emsp430x135.c: $(srcdir)/emulparams/msp430x135.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x133 "$(tdir_msp430x133)" msp430all
+emsp430x135.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x135 "$(tdir_msp430x135)"
-emsp430x1331.c: $(srcdir)/emulparams/msp430x1331.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x135 "$(tdir_msp430x135)" msp430all
+emsp430x1331.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1331 "$(tdir_msp430x1331)"
-emsp430x1351.c: $(srcdir)/emulparams/msp430x1351.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1331 "$(tdir_msp430x1331)" msp430all
+emsp430x1351.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1351 "$(tdir_msp430x1351)"
-emsp430x147.c: $(srcdir)/emulparams/msp430x147.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1351 "$(tdir_msp430x1351)" msp430all
+emsp430x147.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x147 "$(tdir_msp430x147)"
-emsp430x148.c: $(srcdir)/emulparams/msp430x148.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x147 "$(tdir_msp430x147)" msp430all
+emsp430x148.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x148 "$(tdir_msp430x148)"
-emsp430x149.c: $(srcdir)/emulparams/msp430x149.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x148 "$(tdir_msp430x148)" msp430all
+emsp430x149.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x149 "$(tdir_msp430x149)"
-emsp430x155.c: $(srcdir)/emulparams/msp430x155.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x149 "$(tdir_msp430x149)" msp430all
+emsp430x155.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x155 "$(tdir_msp430x155)"
-emsp430x156.c: $(srcdir)/emulparams/msp430x156.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x155 "$(tdir_msp430x155)" msp430all
+emsp430x156.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x156 "$(tdir_msp430x156)"
-emsp430x157.c: $(srcdir)/emulparams/msp430x157.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x156 "$(tdir_msp430x156)" msp430all
+emsp430x157.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x157 "$(tdir_msp430x157)"
-emsp430x167.c: $(srcdir)/emulparams/msp430x167.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x157 "$(tdir_msp430x157)" msp430all
+emsp430x167.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x167 "$(tdir_msp430x167)"
-emsp430x168.c: $(srcdir)/emulparams/msp430x167.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x167 "$(tdir_msp430x167)" msp430all
+emsp430x168.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x168 "$(tdir_msp430x168)"
-emsp430x169.c: $(srcdir)/emulparams/msp430x169.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x168 "$(tdir_msp430x168)" msp430all
+emsp430x169.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x169 "$(tdir_msp430x169)"
-emsp430x311.c: $(srcdir)/emulparams/msp430x311.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x169 "$(tdir_msp430x169)" msp430all
+emsp430x311.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x311 "$(tdir_msp430x311)"
-emsp430x312.c: $(srcdir)/emulparams/msp430x312.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x311 "$(tdir_msp430x311)" msp430all
+emsp430x312.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x312 "$(tdir_msp430x312)"
-emsp430x313.c: $(srcdir)/emulparams/msp430x313.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x312 "$(tdir_msp430x312)" msp430all
+emsp430x313.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x313 "$(tdir_msp430x313)"
-emsp430x314.c: $(srcdir)/emulparams/msp430x314.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x313 "$(tdir_msp430x313)" msp430all
+emsp430x314.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x314 "$(tdir_msp430x314)"
-emsp430x315.c: $(srcdir)/emulparams/msp430x315.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x314 "$(tdir_msp430x314)" msp430all
+emsp430x315.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x315 "$(tdir_msp430x315)"
-emsp430x323.c: $(srcdir)/emulparams/msp430x323.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x315 "$(tdir_msp430x315)" msp430all
+emsp430x323.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x323 "$(tdir_msp430x323)"
-emsp430x325.c: $(srcdir)/emulparams/msp430x325.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x323 "$(tdir_msp430x323)" msp430all
+emsp430x325.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x325 "$(tdir_msp430x325)"
-emsp430x336.c: $(srcdir)/emulparams/msp430x336.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x325 "$(tdir_msp430x325)" msp430all
+emsp430x336.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x336 "$(tdir_msp430x336)"
-emsp430x337.c: $(srcdir)/emulparams/msp430x337.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x336 "$(tdir_msp430x336)" msp430all
+emsp430x337.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x337 "$(tdir_msp430x337)"
-emsp430x412.c: $(srcdir)/emulparams/msp430x412.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x337 "$(tdir_msp430x337)" msp430all
+emsp430x412.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x412 "$(tdir_msp430x412)"
-emsp430x413.c: $(srcdir)/emulparams/msp430x413.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x412 "$(tdir_msp430x412)" msp430all
+emsp430x413.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x413 "$(tdir_msp430x413)"
-emsp430xE423.c: $(srcdir)/emulparams/msp430xE423.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x413 "$(tdir_msp430x413)" msp430all
+emsp430xE423.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xE423 "$(tdir_msp430xE423)"
-emsp430xE425.c: $(srcdir)/emulparams/msp430xE425.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430xE423 "$(tdir_msp430xE423)" msp430all
+emsp430xE425.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xE425 "$(tdir_msp430xE425)"
-emsp430xE427.c: $(srcdir)/emulparams/msp430xE427.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430xE425 "$(tdir_msp430xE425)" msp430all
+emsp430xE427.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xE427 "$(tdir_msp430xE427)"
-emsp430xW423.c: $(srcdir)/emulparams/msp430xW423.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430xE427 "$(tdir_msp430xE427)" msp430all
+emsp430xW423.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW423 "$(tdir_msp430xW423)"
-emsp430xW425.c: $(srcdir)/emulparams/msp430xW425.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430xW423 "$(tdir_msp430xW423)" msp430all
+emsp430xW425.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW425 "$(tdir_msp430xW425)"
-emsp430xW427.c: $(srcdir)/emulparams/msp430xW427.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430xW425 "$(tdir_msp430xW425)" msp430all
+emsp430xW427.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW427 "$(tdir_msp430xW427)"
-emsp430x435.c: $(srcdir)/emulparams/msp430x435.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430xW427 "$(tdir_msp430xW427)" msp430all
+emsp430x435.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x435 "$(tdir_msp430x435)"
-emsp430x436.c: $(srcdir)/emulparams/msp430x436.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x435 "$(tdir_msp430x435)" msp430all
+emsp430x436.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x436 "$(tdir_msp430x436)"
-emsp430x437.c: $(srcdir)/emulparams/msp430x437.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x436 "$(tdir_msp430x436)" msp430all
+emsp430x437.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x437 "$(tdir_msp430x437)"
-emsp430x447.c: $(srcdir)/emulparams/msp430x447.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x437 "$(tdir_msp430x437)" msp430all
+emsp430x447.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x447 "$(tdir_msp430x447)"
-emsp430x448.c: $(srcdir)/emulparams/msp430x448.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x447 "$(tdir_msp430x447)" msp430all
+emsp430x448.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x448 "$(tdir_msp430x448)"
-emsp430x449.c: $(srcdir)/emulparams/msp430x449.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x448 "$(tdir_msp430x448)" msp430all
+emsp430x449.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x449 "$(tdir_msp430x449)"
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x449 "$(tdir_msp430x449)" msp430all
enews.c: $(srcdir)/emulparams/news.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} news "$(tdir_news)"
diff --git a/ld/Makefile.in b/ld/Makefile.in
index bcc0dbd..85c13dd 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -537,6 +537,12 @@ POTFILES = $(CFILES) $(HFILES) $(EMULATION_FILES)
GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh ${srcdir} ${libdir} "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@
GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed
+# FIXME: genscripts_extra.sh is a drop in replacement for genscripts.sh
+# with some added functionality. The rules below ought to be changed
+# to use genscripts_extra.sh and then genscripts.sh should be made obsolete.
+GENSCRIPTS_EXTRA = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts_extra.sh ${srcdir} ${libdir} "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@
+GEN_EXTRA_DEPENDS = $(srcdir)/genscripts_extra.sh stringify.sed
+
# We need this for automake to use YLWRAP.
EXTRA_ld_new_SOURCES = deffilep.y
@@ -605,7 +611,7 @@ deffilep.c ldgram.c ldlex.c
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
SOURCES = $(ld_new_SOURCES) $(EXTRA_ld_new_SOURCES)
OBJECTS = $(ld_new_OBJECTS)
@@ -1087,7 +1093,7 @@ distclean-generic:
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
- -test -z "ldlex.cdeffilep.hdeffilep.cldgram.hldgram.c$(MAINTAINERCLEANFILES)" || rm -f ldlex.c deffilep.h deffilep.c ldgram.h ldgram.c $(MAINTAINERCLEANFILES)
+ -test -z "ldlexldeffilephdeffilepcldgramhldgramc$(MAINTAINERCLEANFILES)" || rm -f ldlexl deffileph deffilepc ldgramh ldgramc $(MAINTAINERCLEANFILES)
mostlyclean-am: mostlyclean-hdr mostlyclean-noinstPROGRAMS \
mostlyclean-compile mostlyclean-libtool \
mostlyclean-aminfo mostlyclean-tags mostlyclean-generic \
@@ -1171,6 +1177,7 @@ ldemul-list.h: Makefile
stringify.sed: ${srcdir}/emultempl/$(STRINGIFY)
cp ${srcdir}/emultempl/$(STRINGIFY) stringify.sed
+
@TDIRS@
ea29k.c: $(srcdir)/emulparams/a29k.sh \
@@ -1798,194 +1805,194 @@ emn10300.c: $(srcdir)/emulparams/mn10300.sh \
emn10200.c: $(srcdir)/emulparams/mn10200.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} mn10200 "$(tdir_mn10200)"
-emsp430x110.c: $(srcdir)/emulparams/msp430x110.sh \
+emsp430x110.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x110 "$(tdir_msp430x110)"
-emsp430x112.c: $(srcdir)/emulparams/msp430x112.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x110 "$(tdir_msp430x110)" msp430all
+emsp430x112.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x112 "$(tdir_msp430x112)"
-emsp430x1101.c: $(srcdir)/emulparams/msp430x1101.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x112 "$(tdir_msp430x112)" msp430all
+emsp430x1101.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1101 "$(tdir_msp430x1101)"
-emsp430x1111.c: $(srcdir)/emulparams/msp430x1111.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1101 "$(tdir_msp430x1101)" msp430all
+emsp430x1111.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1111 "$(tdir_msp430x1111)"
-emsp430x1121.c: $(srcdir)/emulparams/msp430x1121.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1111 "$(tdir_msp430x1111)" msp430all
+emsp430x1121.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1121 "$(tdir_msp430x1121)"
-emsp430x1122.c: $(srcdir)/emulparams/msp430x1122.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1121 "$(tdir_msp430x1121)" msp430all
+emsp430x1122.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1122 "$(tdir_msp430x1122)"
-emsp430x1132.c: $(srcdir)/emulparams/msp430x1132.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1122 "$(tdir_msp430x1122)" msp430all
+emsp430x1132.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1132 "$(tdir_msp430x1132)"
-emsp430x122.c: $(srcdir)/emulparams/msp430x122.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1132 "$(tdir_msp430x1132)" msp430all
+emsp430x122.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x122 "$(tdir_msp430x122)"
-emsp430x123.c: $(srcdir)/emulparams/msp430x123.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x122 "$(tdir_msp430x122)" msp430all
+emsp430x123.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x123 "$(tdir_msp430x123)"
-emsp430x1222.c: $(srcdir)/emulparams/msp430x1222.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x123 "$(tdir_msp430x123)" msp430all
+emsp430x1222.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1222 "$(tdir_msp430x1222)"
-emsp430x1232.c: $(srcdir)/emulparams/msp430x1232.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1222 "$(tdir_msp430x1222)" msp430all
+emsp430x1232.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1232 "$(tdir_msp430x1232)"
-emsp430x133.c: $(srcdir)/emulparams/msp430x133.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1232 "$(tdir_msp430x1232)" msp430all
+emsp430x133.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x133 "$(tdir_msp430x133)"
-emsp430x135.c: $(srcdir)/emulparams/msp430x135.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x133 "$(tdir_msp430x133)" msp430all
+emsp430x135.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x135 "$(tdir_msp430x135)"
-emsp430x1331.c: $(srcdir)/emulparams/msp430x1331.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x135 "$(tdir_msp430x135)" msp430all
+emsp430x1331.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1331 "$(tdir_msp430x1331)"
-emsp430x1351.c: $(srcdir)/emulparams/msp430x1351.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1331 "$(tdir_msp430x1331)" msp430all
+emsp430x1351.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1351 "$(tdir_msp430x1351)"
-emsp430x147.c: $(srcdir)/emulparams/msp430x147.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x1351 "$(tdir_msp430x1351)" msp430all
+emsp430x147.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x147 "$(tdir_msp430x147)"
-emsp430x148.c: $(srcdir)/emulparams/msp430x148.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x147 "$(tdir_msp430x147)" msp430all
+emsp430x148.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x148 "$(tdir_msp430x148)"
-emsp430x149.c: $(srcdir)/emulparams/msp430x149.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x148 "$(tdir_msp430x148)" msp430all
+emsp430x149.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x149 "$(tdir_msp430x149)"
-emsp430x155.c: $(srcdir)/emulparams/msp430x155.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x149 "$(tdir_msp430x149)" msp430all
+emsp430x155.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x155 "$(tdir_msp430x155)"
-emsp430x156.c: $(srcdir)/emulparams/msp430x156.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x155 "$(tdir_msp430x155)" msp430all
+emsp430x156.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x156 "$(tdir_msp430x156)"
-emsp430x157.c: $(srcdir)/emulparams/msp430x157.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x156 "$(tdir_msp430x156)" msp430all
+emsp430x157.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x157 "$(tdir_msp430x157)"
-emsp430x167.c: $(srcdir)/emulparams/msp430x167.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x157 "$(tdir_msp430x157)" msp430all
+emsp430x167.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x167 "$(tdir_msp430x167)"
-emsp430x168.c: $(srcdir)/emulparams/msp430x167.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x167 "$(tdir_msp430x167)" msp430all
+emsp430x168.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x168 "$(tdir_msp430x168)"
-emsp430x169.c: $(srcdir)/emulparams/msp430x169.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x168 "$(tdir_msp430x168)" msp430all
+emsp430x169.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x169 "$(tdir_msp430x169)"
-emsp430x311.c: $(srcdir)/emulparams/msp430x311.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x169 "$(tdir_msp430x169)" msp430all
+emsp430x311.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x311 "$(tdir_msp430x311)"
-emsp430x312.c: $(srcdir)/emulparams/msp430x312.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x311 "$(tdir_msp430x311)" msp430all
+emsp430x312.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x312 "$(tdir_msp430x312)"
-emsp430x313.c: $(srcdir)/emulparams/msp430x313.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x312 "$(tdir_msp430x312)" msp430all
+emsp430x313.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x313 "$(tdir_msp430x313)"
-emsp430x314.c: $(srcdir)/emulparams/msp430x314.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x313 "$(tdir_msp430x313)" msp430all
+emsp430x314.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x314 "$(tdir_msp430x314)"
-emsp430x315.c: $(srcdir)/emulparams/msp430x315.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x314 "$(tdir_msp430x314)" msp430all
+emsp430x315.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x315 "$(tdir_msp430x315)"
-emsp430x323.c: $(srcdir)/emulparams/msp430x323.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x315 "$(tdir_msp430x315)" msp430all
+emsp430x323.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x323 "$(tdir_msp430x323)"
-emsp430x325.c: $(srcdir)/emulparams/msp430x325.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x323 "$(tdir_msp430x323)" msp430all
+emsp430x325.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x325 "$(tdir_msp430x325)"
-emsp430x336.c: $(srcdir)/emulparams/msp430x336.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x325 "$(tdir_msp430x325)" msp430all
+emsp430x336.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x336 "$(tdir_msp430x336)"
-emsp430x337.c: $(srcdir)/emulparams/msp430x337.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x336 "$(tdir_msp430x336)" msp430all
+emsp430x337.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x337 "$(tdir_msp430x337)"
-emsp430x412.c: $(srcdir)/emulparams/msp430x412.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x337 "$(tdir_msp430x337)" msp430all
+emsp430x412.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x412 "$(tdir_msp430x412)"
-emsp430x413.c: $(srcdir)/emulparams/msp430x413.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x412 "$(tdir_msp430x412)" msp430all
+emsp430x413.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x413 "$(tdir_msp430x413)"
-emsp430xE423.c: $(srcdir)/emulparams/msp430xE423.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x413 "$(tdir_msp430x413)" msp430all
+emsp430xE423.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xE423 "$(tdir_msp430xE423)"
-emsp430xE425.c: $(srcdir)/emulparams/msp430xE425.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430xE423 "$(tdir_msp430xE423)" msp430all
+emsp430xE425.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xE425 "$(tdir_msp430xE425)"
-emsp430xE427.c: $(srcdir)/emulparams/msp430xE427.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430xE425 "$(tdir_msp430xE425)" msp430all
+emsp430xE427.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xE427 "$(tdir_msp430xE427)"
-emsp430xW423.c: $(srcdir)/emulparams/msp430xW423.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430xE427 "$(tdir_msp430xE427)" msp430all
+emsp430xW423.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW423 "$(tdir_msp430xW423)"
-emsp430xW425.c: $(srcdir)/emulparams/msp430xW425.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430xW423 "$(tdir_msp430xW423)" msp430all
+emsp430xW425.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW425 "$(tdir_msp430xW425)"
-emsp430xW427.c: $(srcdir)/emulparams/msp430xW427.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430xW425 "$(tdir_msp430xW425)" msp430all
+emsp430xW427.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW427 "$(tdir_msp430xW427)"
-emsp430x435.c: $(srcdir)/emulparams/msp430x435.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430xW427 "$(tdir_msp430xW427)" msp430all
+emsp430x435.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x435 "$(tdir_msp430x435)"
-emsp430x436.c: $(srcdir)/emulparams/msp430x436.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x435 "$(tdir_msp430x435)" msp430all
+emsp430x436.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x436 "$(tdir_msp430x436)"
-emsp430x437.c: $(srcdir)/emulparams/msp430x437.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x436 "$(tdir_msp430x436)" msp430all
+emsp430x437.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x437 "$(tdir_msp430x437)"
-emsp430x447.c: $(srcdir)/emulparams/msp430x447.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x437 "$(tdir_msp430x437)" msp430all
+emsp430x447.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x447 "$(tdir_msp430x447)"
-emsp430x448.c: $(srcdir)/emulparams/msp430x448.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x447 "$(tdir_msp430x447)" msp430all
+emsp430x448.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x448 "$(tdir_msp430x448)"
-emsp430x449.c: $(srcdir)/emulparams/msp430x449.sh \
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x448 "$(tdir_msp430x448)" msp430all
+emsp430x449.c: $(srcdir)/emulparams/msp430all.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x449 "$(tdir_msp430x449)"
+ ${GEN_EXTRA_DEPENDS}
+ ${GENSCRIPTS_EXTRA} msp430x449 "$(tdir_msp430x449)" msp430all
enews.c: $(srcdir)/emulparams/news.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} news "$(tdir_news)"
diff --git a/ld/emulparams/msp430all.sh b/ld/emulparams/msp430all.sh
new file mode 100644
index 0000000..3aa3289
--- /dev/null
+++ b/ld/emulparams/msp430all.sh
@@ -0,0 +1,804 @@
+#!/bin/sh
+
+# This called by genscripts_extra.sh
+
+MSP430_NAME=${EMULATION_NAME}
+
+if [ "${MSP430_NAME}" = "msp430x110" ] ; then
+ARCH=msp:11
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xfc00
+ROM_SIZE=0x3e0
+RAM_START=0x0200
+RAM_SIZE=128
+
+STACK=0x280
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1101" ] ; then
+ARCH=msp:110
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xfc00
+ROM_SIZE=0x3e0
+RAM_START=0x0200
+RAM_SIZE=128
+
+STACK=0x280
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1111" ] ; then
+ARCH=msp:110
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xf800
+ROM_SIZE=0x07e0
+RAM_START=0x0200
+RAM_SIZE=128
+
+STACK=0x280
+fi
+
+if [ "${MSP430_NAME}" = "msp430x112" ] ; then
+ARCH=msp:11
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xf000
+ROM_SIZE=0xfe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1121" ] ; then
+ARCH=msp:110
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xf000
+ROM_SIZE=0x0fe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1122" ] ; then
+ARCH=msp:110
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xf000
+ROM_SIZE=0x0fe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1132" ] ; then
+ARCH=msp:110
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x122" ] ; then
+ARCH=msp:12
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xf000
+ROM_SIZE=0xfe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1222" ] ; then
+ARCH=msp:12
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xf000
+ROM_SIZE=0xfe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x123" ] ; then
+ARCH=msp:12
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1232" ] ; then
+ARCH=msp:12
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x133" ] ; then
+ARCH=msp:13
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1331" ] ; then
+ARCH=msp:13
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x135" ] ; then
+ARCH=msp:13
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1351" ] ; then
+ARCH=msp:13
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x147" ] ; then
+ARCH=msp:14
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1K
+
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x148" ] ; then
+ARCH=msp:14
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0x4000
+ROM_SIZE=0xbef0
+RAM_START=0x0200
+RAM_SIZE=0x07ff
+
+STACK=0xa00
+fi
+
+if [ "${MSP430_NAME}" = "msp430x149" ] ; then
+ARCH=msp:14
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0x1100
+ROM_SIZE=0xeee0
+RAM_START=0x0200
+RAM_SIZE=0x07ff
+
+STACK=0xa00
+fi
+
+if [ "${MSP430_NAME}" = "msp430x155" ] ; then
+ARCH=msp:15
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x156" ] ; then
+ARCH=msp:15
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xa000
+ROM_SIZE=0x5fe0
+RAM_START=0x0200
+RAM_SIZE=512
+
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x157" ] ; then
+ARCH=msp:15
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1K
+
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x167" ] ; then
+ARCH=msp:16
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1K
+
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x168" ] ; then
+ARCH=msp:16
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0x4000
+ROM_SIZE=0xbef0
+RAM_START=0x0200
+RAM_SIZE=0x07ff
+
+STACK=0xa00
+fi
+
+if [ "${MSP430_NAME}" = "msp430x169" ] ; then
+ARCH=msp:16
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0x1100
+ROM_SIZE=0xeee0
+RAM_START=0x0200
+RAM_SIZE=0x07ff
+
+STACK=0xa00
+fi
+
+if [ "${MSP430_NAME}" = "msp430x311" ] ; then
+ARCH=msp:31
+MACHINE=
+SCRIPT_NAME=elf32msp430_3
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xf800
+ROM_SIZE=0x07e0
+RAM_START=0x0200
+RAM_SIZE=128
+
+STACK=0x280
+fi
+
+if [ "${MSP430_NAME}" = "msp430x312" ] ; then
+ARCH=msp:31
+MACHINE=
+SCRIPT_NAME=elf32msp430_3
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xf000
+ROM_SIZE=0x0fe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x313" ] ; then
+ARCH=msp:31
+MACHINE=
+SCRIPT_NAME=elf32msp430_3
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x314" ] ; then
+ARCH=msp:31
+MACHINE=
+SCRIPT_NAME=elf32msp430_3
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xd000
+ROM_SIZE=0x2fe0
+RAM_START=0x0200
+RAM_SIZE=512
+
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x315" ] ; then
+ARCH=msp:31
+MACHINE=
+SCRIPT_NAME=elf32msp430_3
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x323" ] ; then
+ARCH=msp:32
+MACHINE=
+SCRIPT_NAME=elf32msp430_3
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x325" ] ; then
+ARCH=msp:32
+MACHINE=
+SCRIPT_NAME=elf32msp430_3
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x336" ] ; then
+ARCH=msp:33
+MACHINE=
+SCRIPT_NAME=elf32msp430_3
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xa000
+ROM_SIZE=0x5fe0
+RAM_START=0x0200
+RAM_SIZE=1024
+
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x337" ] ; then
+ARCH=msp:33
+MACHINE=
+SCRIPT_NAME=elf32msp430_3
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1024
+
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x412" ] ; then
+ARCH=msp:41
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xf000
+ROM_SIZE=0x0fe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x413" ] ; then
+ARCH=msp:41
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x435" ] ; then
+ARCH=msp:43
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x436" ] ; then
+ARCH=msp:43
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xa000
+ROM_SIZE=0x5fe0
+RAM_START=0x0200
+RAM_SIZE=1024
+
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x437" ] ; then
+ARCH=msp:43
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1024
+
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x447" ] ; then
+ARCH=msp:44
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1K
+
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x448" ] ; then
+ARCH=msp:44
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0x4000
+ROM_SIZE=0xbef0
+RAM_START=0x0200
+RAM_SIZE=0x07ff
+
+STACK=0xa00
+fi
+
+if [ "${MSP430_NAME}" = "msp430x449" ] ; then
+ARCH=msp:44
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0x1100
+ROM_SIZE=0xeee0
+RAM_START=0x0200
+RAM_SIZE=0x07ff
+
+STACK=0xa00
+fi
+
+if [ "${MSP430_NAME}" = "msp430xE423" ] ; then
+ARCH=msp:42
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430xE425" ] ; then
+ARCH=msp:42
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430xE427" ] ; then
+ARCH=msp:42
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1K
+
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430xW423" ] ; then
+ARCH=msp:42
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430xW425" ] ; then
+ARCH=msp:42
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430xW427" ] ; then
+ARCH=msp:42
+MACHINE=
+SCRIPT_NAME=elf32msp430
+OUTPUT_FORMAT="elf32-msp430"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=generic
+
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1K
+
+STACK=0x600
+fi
diff --git a/ld/emulparams/msp430x110.sh b/ld/emulparams/msp430x110.sh
deleted file mode 100644
index 54e8272..0000000
--- a/ld/emulparams/msp430x110.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:11
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xfc00
-ROM_SIZE=0x3e0
-RAM_START=0x0200
-RAM_SIZE=128
-
-STACK=0x280
diff --git a/ld/emulparams/msp430x1101.sh b/ld/emulparams/msp430x1101.sh
deleted file mode 100644
index 9a0273c..0000000
--- a/ld/emulparams/msp430x1101.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:110
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xfc00
-ROM_SIZE=0x3e0
-RAM_START=0x0200
-RAM_SIZE=128
-
-STACK=0x280
diff --git a/ld/emulparams/msp430x1111.sh b/ld/emulparams/msp430x1111.sh
deleted file mode 100644
index c8c95e2..0000000
--- a/ld/emulparams/msp430x1111.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:110
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xf800
-ROM_SIZE=0x07e0
-RAM_START=0x0200
-RAM_SIZE=128
-
-STACK=0x280
diff --git a/ld/emulparams/msp430x112.sh b/ld/emulparams/msp430x112.sh
deleted file mode 100644
index 0b74404..0000000
--- a/ld/emulparams/msp430x112.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:11
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xf000
-ROM_SIZE=0xfe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x1121.sh b/ld/emulparams/msp430x1121.sh
deleted file mode 100644
index e190c2a..0000000
--- a/ld/emulparams/msp430x1121.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:110
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xf000
-ROM_SIZE=0x0fe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x1122.sh b/ld/emulparams/msp430x1122.sh
deleted file mode 100644
index e190c2a..0000000
--- a/ld/emulparams/msp430x1122.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:110
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xf000
-ROM_SIZE=0x0fe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x1132.sh b/ld/emulparams/msp430x1132.sh
deleted file mode 100644
index e9da1a8..0000000
--- a/ld/emulparams/msp430x1132.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:110
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x122.sh b/ld/emulparams/msp430x122.sh
deleted file mode 100644
index ee2ba40..0000000
--- a/ld/emulparams/msp430x122.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:12
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xf000
-ROM_SIZE=0xfe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x1222.sh b/ld/emulparams/msp430x1222.sh
deleted file mode 100644
index ee2ba40..0000000
--- a/ld/emulparams/msp430x1222.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:12
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xf000
-ROM_SIZE=0xfe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x123.sh b/ld/emulparams/msp430x123.sh
deleted file mode 100644
index 6d946bc..0000000
--- a/ld/emulparams/msp430x123.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:12
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x1232.sh b/ld/emulparams/msp430x1232.sh
deleted file mode 100644
index 6d946bc..0000000
--- a/ld/emulparams/msp430x1232.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:12
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x133.sh b/ld/emulparams/msp430x133.sh
deleted file mode 100644
index 1d6104f..0000000
--- a/ld/emulparams/msp430x133.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:13
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x1331.sh b/ld/emulparams/msp430x1331.sh
deleted file mode 100644
index 1d6104f..0000000
--- a/ld/emulparams/msp430x1331.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:13
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x135.sh b/ld/emulparams/msp430x135.sh
deleted file mode 100644
index f2eb544..0000000
--- a/ld/emulparams/msp430x135.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:13
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-
-STACK=0x400
diff --git a/ld/emulparams/msp430x1351.sh b/ld/emulparams/msp430x1351.sh
deleted file mode 100644
index f2eb544..0000000
--- a/ld/emulparams/msp430x1351.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:13
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-
-STACK=0x400
diff --git a/ld/emulparams/msp430x147.sh b/ld/emulparams/msp430x147.sh
deleted file mode 100644
index a2747b7..0000000
--- a/ld/emulparams/msp430x147.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:14
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1K
-
-STACK=0x600
diff --git a/ld/emulparams/msp430x148.sh b/ld/emulparams/msp430x148.sh
deleted file mode 100644
index 5954c70..0000000
--- a/ld/emulparams/msp430x148.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:14
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0x4000
-ROM_SIZE=0xbef0
-RAM_START=0x0200
-RAM_SIZE=0x07ff
-
-STACK=0xa00
diff --git a/ld/emulparams/msp430x149.sh b/ld/emulparams/msp430x149.sh
deleted file mode 100644
index a695876..0000000
--- a/ld/emulparams/msp430x149.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:14
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0x1100
-ROM_SIZE=0xeee0
-RAM_START=0x0200
-RAM_SIZE=0x07ff
-
-STACK=0xa00
diff --git a/ld/emulparams/msp430x155.sh b/ld/emulparams/msp430x155.sh
deleted file mode 100644
index 5b1c838..0000000
--- a/ld/emulparams/msp430x155.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:15
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-
-STACK=0x400
diff --git a/ld/emulparams/msp430x156.sh b/ld/emulparams/msp430x156.sh
deleted file mode 100644
index 0bb2867..0000000
--- a/ld/emulparams/msp430x156.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:15
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xa000
-ROM_SIZE=0x5fe0
-RAM_START=0x0200
-RAM_SIZE=512
-
-STACK=0x400
diff --git a/ld/emulparams/msp430x157.sh b/ld/emulparams/msp430x157.sh
deleted file mode 100644
index 21ea6f6..0000000
--- a/ld/emulparams/msp430x157.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:15
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1K
-
-STACK=0x600
diff --git a/ld/emulparams/msp430x167.sh b/ld/emulparams/msp430x167.sh
deleted file mode 100644
index 3b942f7..0000000
--- a/ld/emulparams/msp430x167.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:16
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1K
-
-STACK=0x600
diff --git a/ld/emulparams/msp430x168.sh b/ld/emulparams/msp430x168.sh
deleted file mode 100644
index f92e6d4..0000000
--- a/ld/emulparams/msp430x168.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:16
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0x4000
-ROM_SIZE=0xbef0
-RAM_START=0x0200
-RAM_SIZE=0x07ff
-
-STACK=0xa00
diff --git a/ld/emulparams/msp430x169.sh b/ld/emulparams/msp430x169.sh
deleted file mode 100644
index 72b0983..0000000
--- a/ld/emulparams/msp430x169.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:16
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0x1100
-ROM_SIZE=0xeee0
-RAM_START=0x0200
-RAM_SIZE=0x07ff
-
-STACK=0xa00
diff --git a/ld/emulparams/msp430x311.sh b/ld/emulparams/msp430x311.sh
deleted file mode 100644
index eebad54..0000000
--- a/ld/emulparams/msp430x311.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:31
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xf800
-ROM_SIZE=0x07e0
-RAM_START=0x0200
-RAM_SIZE=128
-
-STACK=0x280
diff --git a/ld/emulparams/msp430x312.sh b/ld/emulparams/msp430x312.sh
deleted file mode 100644
index 789c73b..0000000
--- a/ld/emulparams/msp430x312.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:31
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xf000
-ROM_SIZE=0x0fe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x313.sh b/ld/emulparams/msp430x313.sh
deleted file mode 100644
index 8fac19f..0000000
--- a/ld/emulparams/msp430x313.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:31
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x314.sh b/ld/emulparams/msp430x314.sh
deleted file mode 100644
index 3ef1987..0000000
--- a/ld/emulparams/msp430x314.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:31
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xd000
-ROM_SIZE=0x2fe0
-RAM_START=0x0200
-RAM_SIZE=512
-
-STACK=0x400
diff --git a/ld/emulparams/msp430x315.sh b/ld/emulparams/msp430x315.sh
deleted file mode 100644
index 4156eb6..0000000
--- a/ld/emulparams/msp430x315.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:31
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-
-STACK=0x400
diff --git a/ld/emulparams/msp430x323.sh b/ld/emulparams/msp430x323.sh
deleted file mode 100644
index 13b9d51..0000000
--- a/ld/emulparams/msp430x323.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:32
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x325.sh b/ld/emulparams/msp430x325.sh
deleted file mode 100644
index 3c8e351..0000000
--- a/ld/emulparams/msp430x325.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:32
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-
-STACK=0x400
diff --git a/ld/emulparams/msp430x336.sh b/ld/emulparams/msp430x336.sh
deleted file mode 100644
index c0dc08c..0000000
--- a/ld/emulparams/msp430x336.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:33
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xa000
-ROM_SIZE=0x5fe0
-RAM_START=0x0200
-RAM_SIZE=1024
-
-STACK=0x600
diff --git a/ld/emulparams/msp430x337.sh b/ld/emulparams/msp430x337.sh
deleted file mode 100644
index a52d129..0000000
--- a/ld/emulparams/msp430x337.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:33
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1024
-
-STACK=0x600
diff --git a/ld/emulparams/msp430x412.sh b/ld/emulparams/msp430x412.sh
deleted file mode 100644
index 1a1f68b..0000000
--- a/ld/emulparams/msp430x412.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:41
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xf000
-ROM_SIZE=0x0fe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x413.sh b/ld/emulparams/msp430x413.sh
deleted file mode 100644
index d3a739d..0000000
--- a/ld/emulparams/msp430x413.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:41
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430x435.sh b/ld/emulparams/msp430x435.sh
deleted file mode 100644
index d625ace..0000000
--- a/ld/emulparams/msp430x435.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:43
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-
-STACK=0x400
diff --git a/ld/emulparams/msp430x436.sh b/ld/emulparams/msp430x436.sh
deleted file mode 100644
index 75f711b..0000000
--- a/ld/emulparams/msp430x436.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:43
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xa000
-ROM_SIZE=0x5fe0
-RAM_START=0x0200
-RAM_SIZE=1024
-
-STACK=0x600
diff --git a/ld/emulparams/msp430x437.sh b/ld/emulparams/msp430x437.sh
deleted file mode 100644
index 92de8cc..0000000
--- a/ld/emulparams/msp430x437.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:43
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1024
-
-STACK=0x600
diff --git a/ld/emulparams/msp430x447.sh b/ld/emulparams/msp430x447.sh
deleted file mode 100644
index 058cc07..0000000
--- a/ld/emulparams/msp430x447.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:44
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1K
-
-STACK=0x600
diff --git a/ld/emulparams/msp430x448.sh b/ld/emulparams/msp430x448.sh
deleted file mode 100644
index e8820ce..0000000
--- a/ld/emulparams/msp430x448.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:44
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0x4000
-ROM_SIZE=0xbef0
-RAM_START=0x0200
-RAM_SIZE=0x07ff
-
-STACK=0xa00
diff --git a/ld/emulparams/msp430x449.sh b/ld/emulparams/msp430x449.sh
deleted file mode 100644
index 9c3442e..0000000
--- a/ld/emulparams/msp430x449.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:44
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0x1100
-ROM_SIZE=0xeee0
-RAM_START=0x0200
-RAM_SIZE=0x07ff
-
-STACK=0xa00
diff --git a/ld/emulparams/msp430xE423.sh b/ld/emulparams/msp430xE423.sh
deleted file mode 100644
index 53d19cd..0000000
--- a/ld/emulparams/msp430xE423.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:42
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430xE425.sh b/ld/emulparams/msp430xE425.sh
deleted file mode 100644
index 1659936..0000000
--- a/ld/emulparams/msp430xE425.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:42
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-
-STACK=0x400
diff --git a/ld/emulparams/msp430xE427.sh b/ld/emulparams/msp430xE427.sh
deleted file mode 100644
index ccf69cd..0000000
--- a/ld/emulparams/msp430xE427.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:42
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1K
-
-STACK=0x600
diff --git a/ld/emulparams/msp430xW423.sh b/ld/emulparams/msp430xW423.sh
deleted file mode 100644
index 53d19cd..0000000
--- a/ld/emulparams/msp430xW423.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:42
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-
-STACK=0x300
diff --git a/ld/emulparams/msp430xW425.sh b/ld/emulparams/msp430xW425.sh
deleted file mode 100644
index 1659936..0000000
--- a/ld/emulparams/msp430xW425.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:42
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-
-STACK=0x400
diff --git a/ld/emulparams/msp430xW427.sh b/ld/emulparams/msp430xW427.sh
deleted file mode 100644
index ccf69cd..0000000
--- a/ld/emulparams/msp430xW427.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-ARCH=msp:42
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1K
-
-STACK=0x600
diff --git a/ld/genscripts_extra.sh b/ld/genscripts_extra.sh
new file mode 100755
index 0000000..0b50670
--- /dev/null
+++ b/ld/genscripts_extra.sh
@@ -0,0 +1,335 @@
+#!/bin/sh
+# genscripts_extra.sh - A copy of genscripts.sh with the ability to accept
+# a second optional parameter - the name of the script to run in order to
+# customise the linker scripts generated for a particular emulation.
+# This allows targets with large numbers of similar emulations to only
+# have one script to customise them all.
+#
+# Usage: genscripts_extra.sh \
+# srcdir \
+# libdir \
+# exec_prefix \
+# host \
+# target \
+# target_alias \
+# default_emulation \
+# native_lib_dirs \
+# use_sysroot \
+# this_emulation
+# optional:
+# tool_dir
+# customizer_script
+#
+# Sample usage:
+#
+# genscripts_extra.sh \
+# /sources/ld \
+# /usr/local/lib \
+# /usr/local \
+# sparc-sun-sunos4.1.3 \
+# sparc-sun-sunos4.1.3 \
+# sparc-sun-sunos4.1.3 \
+# sun4 \
+# "" \
+# no \
+# sun3 \
+# sparc-sun-sunos4.1.3
+# sparc.sh
+#
+# produces the linker scripts:
+#
+# sun3.x [default linker script]
+# sun3.xbn [used when the linker is invoked with "-N"]
+# sun3.xn [used when the linker is invoked with "-n"]
+# sun3.xr [used when the linker is invoked with "-r"]
+# sun3.xu [used when the linker is invoked with "-Ur"]
+# and maybe:
+# sun3.xc [used when the linker is invoked with "-z combreloc"]
+# sun3.xsc [used when the linker is invoked with "--shared"]
+# sun3.xdc [used when the linker is invoked with "-pie"]
+#
+# It also produced the C source file:
+#
+# em_sun3.c
+#
+# which is then compiled into the linker.
+#
+# The linker scripts are created by running the shell script
+# /sources/ld/emulparams/sparc.sh to set the value of ${SCRIPT_NAME}
+# (and any other variables it wants to). ${SCRIPT_NAME} is then
+# invoked with a variable called ${LD_FLAG} to tell it which version
+# of the linker script to create.
+
+
+srcdir=$1
+libdir=$2
+exec_prefix=$3
+host=$4
+target=$5
+target_alias=$6
+EMULATION_LIBPATH=$7
+NATIVE_LIB_DIRS=$8
+use_sysroot=$9
+shift 9
+EMULATION_NAME=$1
+TOOL_LIB=$2
+CUSTOMIZER_SCRIPT=$3
+shift
+# Can't use ${1:-$target_alias} here due to an Ultrix shell bug.
+if [ "x$TOOL_LIB" = "x" ] ; then
+ tool_lib=${exec_prefix}/${target_alias}/lib
+else
+ tool_lib=${exec_prefix}/$TOOL_LIB/lib
+fi
+
+if [ "x${CUSTOMIZER_SCRIPT}" = "x" ] ; then
+ CUSTOMIZER_SCRIPT=${EMULATION_NAME}
+fi
+
+# Include the emulation-specific parameters:
+. ${srcdir}/emulparams/${CUSTOMIZER_SCRIPT}.sh ${EMULATION_NAME}
+
+if test -d ldscripts; then
+ true
+else
+ mkdir ldscripts
+fi
+
+# Set some flags for the emultempl scripts. USE_LIBPATH will
+# be set for any libpath-using emulation; NATIVE will be set for a
+# libpath-using emulation where ${host} = ${target}. NATIVE
+# may already have been set by the emulparams file, but that's OK
+# (it'll just get set to "yes" twice).
+
+case " $EMULATION_LIBPATH " in
+ *" ${EMULATION_NAME} "*)
+ if [ "x${host}" = "x${target}" ] ; then
+ NATIVE=yes
+ USE_LIBPATH=yes
+ elif [ "x${use_sysroot}" = "xyes" ] ; then
+ USE_LIBPATH=yes
+ fi
+ ;;
+esac
+
+# If the emulparams file sets NATIVE, make sure USE_LIBPATH is set also.
+if test "x$NATIVE" = "xyes" ; then
+ USE_LIBPATH=yes
+fi
+
+# Set the library search path, for libraries named by -lfoo.
+# If LIB_PATH is defined (e.g., by Makefile) and non-empty, it is used.
+# Otherwise, the default is set here.
+#
+# The format is the usual list of colon-separated directories.
+# To force a logically empty LIB_PATH, do LIBPATH=":".
+#
+# If we are using a sysroot, prefix library paths with "=" to indicate this.
+#
+# If the emulparams file set LIBPATH_SUFFIX, prepend an extra copy of
+# the library path with the suffix applied.
+
+if [ "x${LIB_PATH}" = "x" ] && [ "x${USE_LIBPATH}" = xyes ] ; then
+ LIB_PATH2=
+ if [ x"$use_sysroot" != xyes ] ; then
+ LIB_PATH2=${libdir}
+ fi
+ for lib in ${NATIVE_LIB_DIRS}; do
+ # The "=" is harmless if we aren't using a sysroot, but also needless.
+ if [ "x${use_sysroot}" = "xyes" ] ; then
+ lib="=${lib}"
+ fi
+ addsuffix=
+ case "${LIBPATH_SUFFIX}:${lib}" in
+ :*) ;;
+ *:*${LIBPATH_SUFFIX}) ;;
+ *) addsuffix=yes ;;
+ esac
+ if test -n "$addsuffix"; then
+ case :${LIB_PATH}: in
+ *:${lib}${LIBPATH_SUFFIX}:*) ;;
+ ::) LIB_PATH=${lib}${LIBPATH_SUFFIX} ;;
+ *) LIB_PATH=${LIB_PATH}:${lib}${LIBPATH_SUFFIX} ;;
+ esac
+ case :${LIB_PATH}:${LIB_PATH2}: in
+ *:${lib}:*) ;;
+ *::) LIB_PATH2=${lib} ;;
+ *) LIB_PATH2=${LIB_PATH2}:${lib} ;;
+ esac
+ else
+ case :${LIB_PATH2}: in
+ *:${lib}:*) ;;
+ ::) LIB_PATH2=${lib} ;;
+ *) LIB_PATH2=${LIB_PATH2}:${lib} ;;
+ esac
+ fi
+ done
+ case :${LIB_PATH}:${LIB_PATH2}: in
+ *:: | ::*) LIB_PATH=${LIB_PATH}${LIB_PATH2} ;;
+ *) LIB_PATH=${LIB_PATH}:${LIB_PATH2} ;;
+ esac
+fi
+
+
+# Always search $(tooldir)/lib, aka /usr/local/TARGET/lib, except for
+# sysrooted configurations and when LIBPATH=":".
+if [ "x${use_sysroot}" != "xyes" ] ; then
+ case :${LIB_PATH}: in
+ ::: | *:${tool_lib}:*) ;;
+ ::) LIB_PATH=${tool_lib} ;;
+ *) LIB_PATH=${tool_lib}:${LIB_PATH} ;;
+ esac
+fi
+
+LIB_SEARCH_DIRS=`echo ${LIB_PATH} | sed -e 's/:/ /g' -e 's/\([^ ][^ ]*\)/SEARCH_DIR(\\"\1\\");/g'`
+
+# We need it for testsuite.
+case " $EMULATION_LIBPATH " in
+ *" ${EMULATION_NAME} "*)
+ test -d tmpdir || mkdir tmpdir
+ test -f tmpdir/libpath.exp || \
+ echo "set libpath \"${LIB_PATH}\"" | sed -e 's/:/ /g' > tmpdir/libpath.exp
+ ;;
+esac
+
+# Generate 5 or 6 script files from a master script template in
+# ${srcdir}/scripttempl/${SCRIPT_NAME}.sh. Which one of the 5 or 6
+# script files is actually used depends on command line options given
+# to ld. (SCRIPT_NAME was set in the emulparams_file.)
+#
+# A .x script file is the default script.
+# A .xr script is for linking without relocation (-r flag).
+# A .xu script is like .xr, but *do* create constructors (-Ur flag).
+# A .xn script is for linking with -n flag (mix text and data on same page).
+# A .xbn script is for linking with -N flag (mix text and data on same page).
+# A .xs script is for generating a shared library with the --shared
+# flag; it is only generated if $GENERATE_SHLIB_SCRIPT is set by the
+# emulation parameters.
+# A .xc script is for linking with -z combreloc; it is only generated if
+# $GENERATE_COMBRELOC_SCRIPT is set by the emulation parameters or
+# $SCRIPT_NAME is "elf".
+# A .xsc script is for linking with --shared -z combreloc; it is generated
+# if $GENERATE_COMBRELOC_SCRIPT is set by the emulation parameters or
+# $SCRIPT_NAME is "elf" and $GENERATE_SHLIB_SCRIPT is set by the emulation
+# parameters too.
+
+if [ "x$SCRIPT_NAME" = "xelf" ]; then
+ GENERATE_COMBRELOC_SCRIPT=yes
+fi
+
+SEGMENT_SIZE=${SEGMENT_SIZE-${MAXPAGESIZE-${TARGET_PAGE_SIZE}}}
+
+# Determine DATA_ALIGNMENT for the 5 variants, using
+# values specified in the emulparams/<script_to_run>.sh file or default.
+
+DATA_ALIGNMENT_="${DATA_ALIGNMENT_-${DATA_ALIGNMENT-ALIGN(${SEGMENT_SIZE})}}"
+DATA_ALIGNMENT_n="${DATA_ALIGNMENT_n-${DATA_ALIGNMENT_}}"
+DATA_ALIGNMENT_N="${DATA_ALIGNMENT_N-${DATA_ALIGNMENT-.}}"
+DATA_ALIGNMENT_r="${DATA_ALIGNMENT_r-${DATA_ALIGNMENT-}}"
+DATA_ALIGNMENT_u="${DATA_ALIGNMENT_u-${DATA_ALIGNMENT_r}}"
+
+LD_FLAG=r
+DATA_ALIGNMENT=${DATA_ALIGNMENT_r}
+DEFAULT_DATA_ALIGNMENT="ALIGN(${SEGMENT_SIZE})"
+( echo "/* Script for ld -r: link without relocation */"
+ . ${srcdir}/emulparams/${CUSTOMIZER_SCRIPT}.sh ${EMULATION_NAME}
+ . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xr
+
+LD_FLAG=u
+DATA_ALIGNMENT=${DATA_ALIGNMENT_u}
+CONSTRUCTING=" "
+( echo "/* Script for ld -Ur: link w/out relocation, do create constructors */"
+ . ${srcdir}/emulparams/${CUSTOMIZER_SCRIPT}.sh ${EMULATION_NAME}
+ . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xu
+
+LD_FLAG=
+DATA_ALIGNMENT=${DATA_ALIGNMENT_}
+RELOCATING=" "
+( echo "/* Default linker script, for normal executables */"
+ . ${srcdir}/emulparams/${CUSTOMIZER_SCRIPT}.sh ${EMULATION_NAME}
+ . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.x
+
+LD_FLAG=n
+DATA_ALIGNMENT=${DATA_ALIGNMENT_n}
+TEXT_START_ADDR=${NONPAGED_TEXT_START_ADDR-${TEXT_START_ADDR}}
+( echo "/* Script for -n: mix text and data on same page */"
+ . ${srcdir}/emulparams/${CUSTOMIZER_SCRIPT}.sh ${EMULATION_NAME}
+ . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xn
+
+LD_FLAG=N
+DATA_ALIGNMENT=${DATA_ALIGNMENT_N}
+( echo "/* Script for -N: mix text and data on same page; don't align data */"
+ . ${srcdir}/emulparams/${CUSTOMIZER_SCRIPT}.sh ${EMULATION_NAME}
+ . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xbn
+
+if test -n "$GENERATE_COMBRELOC_SCRIPT"; then
+ DATA_ALIGNMENT=${DATA_ALIGNMENT_c-${DATA_ALIGNMENT_}}
+ LD_FLAG=c
+ COMBRELOC=ldscripts/${EMULATION_NAME}.xc.tmp
+ ( echo "/* Script for -z combreloc: combine and sort reloc sections */"
+ . ${srcdir}/emulparams/${CUSTOMIZER_SCRIPT}.sh ${EMULATION_NAME}
+ . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+ ) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xc
+ rm -f ${COMBRELOC}
+ COMBRELOC=
+fi
+
+if test -n "$GENERATE_SHLIB_SCRIPT"; then
+ LD_FLAG=shared
+ DATA_ALIGNMENT=${DATA_ALIGNMENT_s-${DATA_ALIGNMENT_}}
+ CREATE_SHLIB=" "
+ # Note that TEXT_START_ADDR is set to NONPAGED_TEXT_START_ADDR.
+ (
+ echo "/* Script for ld --shared: link shared library */"
+ . ${srcdir}/emulparams/${CUSTOMIZER_SCRIPT}.sh ${EMULATION_NAME}
+ . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+ ) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xs
+ if test -n "$GENERATE_COMBRELOC_SCRIPT"; then
+ LD_FLAG=cshared
+ DATA_ALIGNMENT=${DATA_ALIGNMENT_sc-${DATA_ALIGNMENT}}
+ COMBRELOC=ldscripts/${EMULATION_NAME}.xc.tmp
+ ( echo "/* Script for --shared -z combreloc: shared library, combine & sort relocs */"
+ . ${srcdir}/emulparams/${CUSTOMIZER_SCRIPT}.sh ${EMULATION_NAME}
+ . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+ ) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xsc
+ rm -f ${COMBRELOC}
+ COMBRELOC=
+ fi
+ unset CREATE_SHLIB
+fi
+
+if test -n "$GENERATE_PIE_SCRIPT"; then
+ LD_FLAG=pie
+ DATA_ALIGNMENT=${DATA_ALIGNMENT_s-${DATA_ALIGNMENT_}}
+ CREATE_PIE=" "
+ # Note that TEXT_START_ADDR is set to NONPAGED_TEXT_START_ADDR.
+ (
+ echo "/* Script for ld -pie: link position independent executable */"
+ . ${srcdir}/emulparams/${CUSTOMIZER_SCRIPT}.sh ${EMULATION_NAME}
+ . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+ ) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xd
+ if test -n "$GENERATE_COMBRELOC_SCRIPT"; then
+ LD_FLAG=cpie
+ DATA_ALIGNMENT=${DATA_ALIGNMENT_sc-${DATA_ALIGNMENT}}
+ COMBRELOC=ldscripts/${EMULATION_NAME}.xc.tmp
+ ( echo "/* Script for -pie -z combreloc: position independent executable, combine & sort relocs */"
+ . ${srcdir}/emulparams/${CUSTOMIZER_SCRIPT}.sh ${EMULATION_NAME}
+ . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+ ) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xdc
+ rm -f ${COMBRELOC}
+ COMBRELOC=
+ fi
+ unset CREATE_PIE
+fi
+
+case " $EMULATION_LIBPATH " in
+ *" ${EMULATION_NAME} "*) COMPILE_IN=true;;
+esac
+
+# Generate e${EMULATION_NAME}.c.
+. ${srcdir}/emultempl/${TEMPLATE_NAME-generic}.em