aboutsummaryrefslogtreecommitdiff
path: root/ld/emulparams
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2006-06-20 02:22:16 +0000
committerAlan Modra <amodra@gmail.com>2006-06-20 02:22:16 +0000
commit8ded5a0fc3e3c191ff427e0b3c8d2b89f28be9af (patch)
tree7aba558d83e353399a3de406fb2dfc760b41495b /ld/emulparams
parentdbd9748a988b164a226ad910a7fc375bb527f8d0 (diff)
downloadgdb-8ded5a0fc3e3c191ff427e0b3c8d2b89f28be9af.zip
gdb-8ded5a0fc3e3c191ff427e0b3c8d2b89f28be9af.tar.gz
gdb-8ded5a0fc3e3c191ff427e0b3c8d2b89f28be9af.tar.bz2
bfd/
* elf-bfd.h: Formatting. (_bfd_elf_map_sections_to_segments): Declare. * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame_hdr): Don't clear program_header_size. * elf.c (get_program_header_size): Move. Don't use or set saved program_header_size here. (elf_modify_segment_map): New function. Split out from.. (assign_file_positions_for_load_sections): ..here. Assert header size is correct. Remove dead code. (_bfd_elf_map_sections_to_segments): Rename from map_sections_to_segments. Make global. Use get_program_header_size when we need estimate of header size. Call elf_modify_segment_map. Set program_header_size. (print_segment_map): Delete. (_bfd_elf_sizeof_headers): If segment_map available, get the actual size. * elf32-arm.c (elf32_arm_symbian_modify_segment_map): Make safe for calling more than once. * elf32-bfin.c (elf32_bfinfdpic_modify_segment_map): Likewise. * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Likewise. * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise. * elf32-i370.c (elf_backend_add_symbol_hook): Delete. (elf_backend_additional_program_headers): Delete. (elf_backend_modify_segment_map): Delete. * elf64-hppa.c (elf64_hppa_modify_segment_map): Convert to ISO C. * elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise. * doc/bfdint.texi: Delete SIZEOF_HEADERS difficulties. ld/ * Makefile.am (ELF_DEPS): Define. Use in emul file deps. Fix many ELF emul file deps that incorrectly said they needed elf32.em instead of generic.em. Add genelf.em as required. * Makefile.in: Regenerate. * ldlang.c (lang_process): Call ldemul_finish before lang_check_section_addresses. * emulparams/arcelf.sh: Generic elf target needs genelf. * emulparams/d30v_e.sh: Likewise. * emulparams/d30v_o.sh: Likewise. * emulparams/d30velf.sh: Likewise. * emulparams/elf32_dlx.sh: Likewise. * emulparams/elf32_i860.sh: Likewise. * emulparams/elf32fr30.sh: Likewise. * emulparams/elf32frv.sh: Likewise. * emulparams/elf32iq10.sh: Likewise. * emulparams/elf32iq2000.sh: Likewise. * emulparams/elf32mt.sh: Likewise. * emulparams/mn10200.sh: Likewise. * emulparams/or32.sh: Likewise. * emulparams/or32elf.sh: Likewise. * emulparams/pjelf.sh: Likewise. * emulparams/msp430all.sh: Likewise. Extract common entries. * emulparams/pjlelf.sh: Include pjelf.sh. * emulparams/elf32frvfd.sh (EXTRA_EM_FILE): Unset. * emulparams/mn10300.sh (EXTRA_EM_FILE): Unset. * emultempl/elf-generic.em: New file. * emultempl/genelf.em: New file. * emultempl/elf32.em: Include elf-generic.em. (gld${EMULATION_NAME}_layout_sections_again): Delete. (gld${EMULATION_NAME}_finish): Call gld${EMULATION_NAME}_map_segments. * emultempl/hppaelf.em (hppaelf_layout_sections_again): Likewise. (gld${EMULATION_NAME}_finish): Rename from hppaelf_finish. Call gld${EMULATION_NAME}_map_segments. (LDEMUL_FINISH): Update. * emultempl/mmo.em: Correct comment. Include elf-bfd.h and source elf-generic.em. (mmo_finish): Call gld${EMULATION_NAME}_map_segments. * emultempl/ppc64elf.em (ppc_layout_sections_again): Likewise. (gld${EMULATION_NAME}_finish): Rename from ppc_finish. Call gld${EMULATION_NAME}_map_segments. (LDEMUL_FINISH): Update. ld/testsuite/ * ld-elf/eh1.d: Update for fewer program headers. * ld-elf/eh2.d: Likewise. * ld-elf/eh3.d: Likewise.
Diffstat (limited to 'ld/emulparams')
-rw-r--r--ld/emulparams/arcelf.sh3
-rw-r--r--ld/emulparams/d30v_e.sh2
-rw-r--r--ld/emulparams/d30v_o.sh2
-rw-r--r--ld/emulparams/d30velf.sh2
-rw-r--r--ld/emulparams/elf32_dlx.sh1
-rw-r--r--ld/emulparams/elf32_i860.sh2
-rwxr-xr-xld/emulparams/elf32fr30.sh2
-rwxr-xr-xld/emulparams/elf32frv.sh2
-rw-r--r--ld/emulparams/elf32frvfd.sh1
-rwxr-xr-xld/emulparams/elf32iq10.sh2
-rwxr-xr-xld/emulparams/elf32iq2000.sh2
-rw-r--r--ld/emulparams/elf32mt.sh2
-rw-r--r--ld/emulparams/mn10200.sh2
-rw-r--r--ld/emulparams/mn10300.sh1
-rw-r--r--ld/emulparams/msp430all.sh465
-rw-r--r--ld/emulparams/or32.sh1
-rw-r--r--ld/emulparams/or32elf.sh2
-rw-r--r--ld/emulparams/pjelf.sh2
-rw-r--r--ld/emulparams/pjlelf.sh5
19 files changed, 35 insertions, 466 deletions
diff --git a/ld/emulparams/arcelf.sh b/ld/emulparams/arcelf.sh
index f023093..6c524c9 100644
--- a/ld/emulparams/arcelf.sh
+++ b/ld/emulparams/arcelf.sh
@@ -1,4 +1,6 @@
SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-littlearc"
LITTLE_OUTPUT_FORMAT="elf32-littlearc"
BIG_OUTPUT_FORMAT="elf32-bigarc"
@@ -8,4 +10,3 @@ NONPAGED_TEXT_START_ADDR=0x0
ARCH=arc
MACHINE=
ENTRY=start
-#TEMPLATE_NAME=elf32
diff --git a/ld/emulparams/d30v_e.sh b/ld/emulparams/d30v_e.sh
index a8ab5a2..617a048 100644
--- a/ld/emulparams/d30v_e.sh
+++ b/ld/emulparams/d30v_e.sh
@@ -1,5 +1,7 @@
MACHINE=
SCRIPT_NAME=elfd30v
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-d30v"
TEXT_START_ADDR=0x00000000
DATA_START_ADDR=0x20000000
diff --git a/ld/emulparams/d30v_o.sh b/ld/emulparams/d30v_o.sh
index 6cbcb42..79ba83b 100644
--- a/ld/emulparams/d30v_o.sh
+++ b/ld/emulparams/d30v_o.sh
@@ -1,5 +1,7 @@
MACHINE=
SCRIPT_NAME=elfd30v
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-d30v"
TEXT_START_ADDR=0x00000000
DATA_START_ADDR=0x20000000
diff --git a/ld/emulparams/d30velf.sh b/ld/emulparams/d30velf.sh
index 949de78..ab0d70f 100644
--- a/ld/emulparams/d30velf.sh
+++ b/ld/emulparams/d30velf.sh
@@ -1,5 +1,7 @@
MACHINE=
SCRIPT_NAME=elfd30v
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-d30v"
TEXT_START_ADDR=0x00000000
DATA_START_ADDR=0x20000000
diff --git a/ld/emulparams/elf32_dlx.sh b/ld/emulparams/elf32_dlx.sh
index d3ff81c..525b209 100644
--- a/ld/emulparams/elf32_dlx.sh
+++ b/ld/emulparams/elf32_dlx.sh
@@ -1,5 +1,6 @@
SCRIPT_NAME=dlx
TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-dlx"
ARCH=dlx
MACHINE=
diff --git a/ld/emulparams/elf32_i860.sh b/ld/emulparams/elf32_i860.sh
index 1ab4204..589067f 100644
--- a/ld/emulparams/elf32_i860.sh
+++ b/ld/emulparams/elf32_i860.sh
@@ -1,5 +1,7 @@
# A work in progress...
SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-i860-little"
BIG_OUTPUT_FORMAT="elf32-i860"
LITTLE_OUTPUT_FORMAT="elf32-i860-little"
diff --git a/ld/emulparams/elf32fr30.sh b/ld/emulparams/elf32fr30.sh
index 069c623..d078155 100755
--- a/ld/emulparams/elf32fr30.sh
+++ b/ld/emulparams/elf32fr30.sh
@@ -1,5 +1,7 @@
MACHINE=
SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-fr30"
TEXT_START_ADDR=0x10000
ARCH=fr30
diff --git a/ld/emulparams/elf32frv.sh b/ld/emulparams/elf32frv.sh
index 16773b7..9037072 100755
--- a/ld/emulparams/elf32frv.sh
+++ b/ld/emulparams/elf32frv.sh
@@ -1,5 +1,7 @@
MACHINE=
SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-frv"
TEXT_START_ADDR=0x10000
ARCH=frv
diff --git a/ld/emulparams/elf32frvfd.sh b/ld/emulparams/elf32frvfd.sh
index 7029d47..c174669 100644
--- a/ld/emulparams/elf32frvfd.sh
+++ b/ld/emulparams/elf32frvfd.sh
@@ -3,6 +3,7 @@ unset STACK_ADDR
OUTPUT_FORMAT="elf32-frvfdpic"
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
TEMPLATE_NAME=elf32
+unset EXTRA_EM_FILE
GENERATE_SHLIB_SCRIPT=yes
GENERATE_PIE_SCRIPT=yes
EMBEDDED= # This gets us program headers mapped as part of the text segment.
diff --git a/ld/emulparams/elf32iq10.sh b/ld/emulparams/elf32iq10.sh
index 1721f52..2c0d75f 100755
--- a/ld/emulparams/elf32iq10.sh
+++ b/ld/emulparams/elf32iq10.sh
@@ -1,5 +1,7 @@
MACHINE=
SCRIPT_NAME=iq2000
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-iq2000"
DATA_ADDR=0x1000
TEXT_START_ADDR=0x80000000
diff --git a/ld/emulparams/elf32iq2000.sh b/ld/emulparams/elf32iq2000.sh
index 18f239d..a21276a 100755
--- a/ld/emulparams/elf32iq2000.sh
+++ b/ld/emulparams/elf32iq2000.sh
@@ -1,5 +1,7 @@
MACHINE=
SCRIPT_NAME=iq2000
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-iq2000"
DATA_ADDR=0x1000
TEXT_START_ADDR=0x80000000
diff --git a/ld/emulparams/elf32mt.sh b/ld/emulparams/elf32mt.sh
index 667979e..04fc1ed 100644
--- a/ld/emulparams/elf32mt.sh
+++ b/ld/emulparams/elf32mt.sh
@@ -1,5 +1,7 @@
MACHINE=
SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-mt"
# See also `include/elf/mt.h'
TEXT_START_ADDR=0x2000
diff --git a/ld/emulparams/mn10200.sh b/ld/emulparams/mn10200.sh
index f96224b..74f48d0 100644
--- a/ld/emulparams/mn10200.sh
+++ b/ld/emulparams/mn10200.sh
@@ -2,6 +2,8 @@
# mn10300.sh
SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-mn10200"
TEXT_START_ADDR=0x0
ARCH=mn10200
diff --git a/ld/emulparams/mn10300.sh b/ld/emulparams/mn10300.sh
index 23bbda4..121987c 100644
--- a/ld/emulparams/mn10300.sh
+++ b/ld/emulparams/mn10300.sh
@@ -2,4 +2,5 @@
OUTPUT_FORMAT="elf32-mn10300"
ARCH=mn10300
TEMPLATE_NAME=elf32
+unset EXTRA_EM_FILE
GENERATE_SHLIB_SCRIPT=yes
diff --git a/ld/emulparams/msp430all.sh b/ld/emulparams/msp430all.sh
index baee02e..57d21c2 100644
--- a/ld/emulparams/msp430all.sh
+++ b/ld/emulparams/msp430all.sh
@@ -4,1005 +4,550 @@
MSP430_NAME=${EMULATION_NAME}
-if [ "${MSP430_NAME}" = "msp430x110" ] ; then
-ARCH=msp:11
-MACHINE=
SCRIPT_NAME=elf32msp430
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-msp430"
+MACHINE=
MAXPAGESIZE=1
EMBEDDED=yes
-TEMPLATE_NAME=generic
+if [ "${MSP430_NAME}" = "msp430x110" ] ; then
+ARCH=msp:11
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=0xbfe0
RAM_START=0x0200
RAM_SIZE=0x0800
-
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=0x0800
-
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=0xbfe0
RAM_START=0x0200
RAM_SIZE=0x0800
-
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=0x0800
-
STACK=0xa00
fi
if [ "${MSP430_NAME}" = "msp430x1610" ] ; 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=0x1100
RAM_SIZE=0x1400
-
STACK=0x2500
fi
if [ "${MSP430_NAME}" = "msp430x1611" ] ; then
ARCH=msp:16
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
ROM_START=0x4000
ROM_SIZE=0xbfe0
RAM_START=0x1100
RAM_SIZE=0x2800
-
STACK=0x3900
fi
if [ "${MSP430_NAME}" = "msp430x1612" ] ; then
ARCH=msp:16
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
ROM_START=0x2500
ROM_SIZE=0xdae0
RAM_START=0x1100
RAM_SIZE=0x1400
-
STACK=0x2500
fi
if [ "${MSP430_NAME}" = "msp430x2101" ] ; then
ARCH=msp:21
-MACHINE=
-SCRIPT_NAME=elf32msp430
-OUTPUT_FORMAT="elf32-msp430"
-MAXPAGESIZE=1
-EMBEDDED=yes
-TEMPLATE_NAME=generic
-
ROM_START=0xFC00
ROM_SIZE=0x03e0
RAM_START=0x0200
RAM_SIZE=128
-
STACK=0x280
fi
if [ "${MSP430_NAME}" = "msp430x2111" ] ; then
ARCH=msp:21
-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}" = "msp430x2121" ] ; then
ARCH=msp:21
-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}" = "msp430x2131" ] ; then
ARCH=msp:21
-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}" = "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}" = "msp430x415" ] ; then
ARCH=msp:41
-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}" = "msp430x417" ] ; then
ARCH=msp:41
-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}" = "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=1024
-
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=0xbfe0
RAM_START=0x0200
RAM_SIZE=0x0800
-
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=0x0800
-
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=1024
-
STACK=0x600
fi
if [ "${MSP430_NAME}" = "msp430xG437" ] ; 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}" = "msp430xG438" ] ; then
ARCH=msp:43
-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=0x0800
-
STACK=0xa00
fi
if [ "${MSP430_NAME}" = "msp430xG439" ] ; then
ARCH=msp:43
-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=0x0800
-
STACK=0xa00
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=0x400
-
STACK=0x600
fi
diff --git a/ld/emulparams/or32.sh b/ld/emulparams/or32.sh
index 0717eb7..0e22e45 100644
--- a/ld/emulparams/or32.sh
+++ b/ld/emulparams/or32.sh
@@ -1,6 +1,5 @@
SCRIPT_NAME=or32
OUTPUT_FORMAT="coff-or32-big"
-# OUTPUT_FORMAT="elf32-or32"
TEXT_START_ADDR=0x1000000
TARGET_PAGE_SIZE=0x1000000
ARCH=or32
diff --git a/ld/emulparams/or32elf.sh b/ld/emulparams/or32elf.sh
index 5f6b467..5cb3208 100644
--- a/ld/emulparams/or32elf.sh
+++ b/ld/emulparams/or32elf.sh
@@ -1,4 +1,6 @@
SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-or32"
TEXT_START_ADDR=0x1000000
TARGET_PAGE_SIZE=0x1000000
diff --git a/ld/emulparams/pjelf.sh b/ld/emulparams/pjelf.sh
index 97eba8f..e4d2fa5 100644
--- a/ld/emulparams/pjelf.sh
+++ b/ld/emulparams/pjelf.sh
@@ -1,4 +1,6 @@
SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
OUTPUT_FORMAT="elf32-pj"
TEXT_START_ADDR=0x1000000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
diff --git a/ld/emulparams/pjlelf.sh b/ld/emulparams/pjlelf.sh
index eb56810..88c2b64 100644
--- a/ld/emulparams/pjlelf.sh
+++ b/ld/emulparams/pjlelf.sh
@@ -1,5 +1,2 @@
-SCRIPT_NAME=elf
+. ${srcdir}/emulparams/pjelf.sh
OUTPUT_FORMAT="elf32-pjl"
-TEXT_START_ADDR=0x1000000
-MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
-ARCH=pj