URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/gnu-old/binutils-2.18.50/ld/emulparams
- from Rev 179 to Rev 816
- ↔ Reverse comparison
Rev 179 → Rev 816
/or32elf.sh
0,0 → 1,11
SCRIPT_NAME=elf |
TEMPLATE_NAME=elf32 |
OUTPUT_FORMAT="elf32-or32" |
TEXT_START_ADDR=0x0 |
TEXT_BASE_ADDR=0x0 |
INITIAL_READONLY_SECTIONS=".vectors ${RELOCATING-0} : { KEEP (*(.vectors)) }" |
TARGET_PAGE_SIZE=0x1000000 |
MAXPAGESIZE=0x2000 |
ARCH=or32 |
EMBEDDED=yes |
NOP=0x15000000 |
/elf32_sparc_vxworks.sh
0,0 → 1,4
. ${srcdir}/emulparams/elf32_sparc.sh |
OUTPUT_FORMAT="elf32-sparc-vxworks" |
unset DATA_PLT |
. ${srcdir}/emulparams/vxworks.sh |
/h8500b.sh
0,0 → 1,5
SCRIPT_NAME=h8500b |
OUTPUT_FORMAT="coff-h8500" |
TEXT_START_ADDR=0x8000 |
TARGET_PAGE_SIZE=128 |
ARCH=h8500 |
/elf32ppc_fbsd.sh
0,0 → 1,2
. ${srcdir}/emulparams/elf32ppc.sh |
. ${srcdir}/emulparams/elf_fbsd.sh |
/i386pe.sh
0,0 → 1,10
ARCH=i386 |
SCRIPT_NAME=pe |
OUTPUT_FORMAT="pei-i386" |
RELOCATEABLE_OUTPUT_FORMAT="pe-i386" |
TEMPLATE_NAME=pe |
ENTRY="_mainCRTStartup" |
SUBSYSTEM=PE_DEF_SUBSYSTEM |
INITIAL_SYMBOL_CHAR=\"_\" |
TARGET_PAGE_SIZE=0x1000 |
GENERATE_AUTO_IMPORT_SCRIPT=1 |
/crislinux.sh
0,0 → 1,39
# This is an approximation of what we want for a real linux system (with MMU and ELF). |
MACHINE= |
SCRIPT_NAME=elf |
OUTPUT_FORMAT="elf32-cris" |
ARCH=cris |
TEMPLATE_NAME=elf32 |
|
ENTRY=_start |
|
# Needed? Perhaps should be page-size alignment. |
ALIGNMENT=32 |
GENERATE_SHLIB_SCRIPT=yes |
|
# Is this high enough and low enough? |
TEXT_START_ADDR=0x80000 |
|
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" |
|
# We don't do the hoops through DEFINED to provide [_]*start, as it |
# doesn't work with --gc-sections, and the start-name is pretty fixed |
# anyway. |
TEXT_START_SYMBOLS='PROVIDE (__Stext = .);' |
|
# Smuggle an "OTHER_TEXT_END_SYMBOLS" here. |
OTHER_READONLY_SECTIONS="${RELOCATING+PROVIDE (__Etext = .);}" |
DATA_START_SYMBOLS='PROVIDE (__Sdata = .);' |
|
# Smuggle an "OTHER_DATA_END_SYMBOLS" here. |
OTHER_SDATA_SECTIONS="${RELOCATING+PROVIDE (__Edata = .);}" |
OTHER_BSS_SYMBOLS='PROVIDE (__Sbss = .);' |
OTHER_BSS_END_SYMBOLS='PROVIDE (__Ebss = .);' |
|
# Also add the other symbols provided for rsim/xsim and elinux. |
OTHER_SYMBOLS=' |
PROVIDE (__Eall = .); |
PROVIDE (__Endmem = 0x10000000); |
PROVIDE (__Stacksize = 0); |
' |
NO_SMALL_DATA=yes |
/shlelf_vxworks.sh
0,0 → 1,2
. ${srcdir}/emulparams/shelf_vxworks.sh |
OUTPUT_FORMAT="$LITTLE_OUTPUT_FORMAT" |
/z80.sh
0,0 → 1,6
SCRIPT_NAME=z80 |
OUTPUT_FORMAT="coff-z80" |
OUTPUT_ARCH="z80" |
TEXT_START_ADDR=0x100 |
EXTRA_EM_FILE=z80 |
ARCH=z80 |
/i386bsd.sh
0,0 → 1,8
SCRIPT_NAME=aout |
OUTPUT_FORMAT="a.out-i386-bsd" |
TARGET_PAGE_SIZE=0x1000 |
TEXT_START_ADDR=0 |
case ${LD_FLAG} in |
n|N) TEXT_START_ADDR=0x1000 ;; |
esac |
ARCH=i386 |
/vxworks.sh
0,0 → 1,48
# If you change this file, please also look at files which source this one: |
# armelf_vxworks.sh elf32ebmipvxworks.sh elf32elmipvxworks.sh |
# elf_i386_vxworks.sh elf32ppcvxworks.sh elf32_sparc_vxworks.sh |
# shelf_vxworks.sh |
|
# The Diab tools use a different init/fini convention. Initialization code |
# is place in sections named ".init$NN". These sections are then concatenated |
# into the .init section. It is important that .init$00 be first and .init$99 |
# be last. The other sections should be sorted, but the current linker script |
# parse does not seem to allow that with the SORT keyword in this context. |
INIT_START='_init = .; |
KEEP (*(.init$00)); |
KEEP (*(.init$0[1-9])); |
KEEP (*(.init$[1-8][0-9])); |
KEEP (*(.init$9[0-8]));' |
INIT_END='KEEP (*(.init$99));' |
FINI_START='_fini = .; |
KEEP (*(.fini$00)); |
KEEP (*(.fini$0[1-9])); |
KEEP (*(.fini$[1-8][0-9])); |
KEEP (*(.fini$9[0-8]));' |
FINI_END="KEEP (*(.fini\$99)); |
PROVIDE (${SYMPREFIX}_etext = .);" |
|
OTHER_READONLY_SECTIONS=".tls_data ${RELOCATING-0} : {${RELOCATING+ |
__wrs_rtp_tls_data_start = .; |
___wrs_rtp_tls_data_start = .;} |
*(.tls_data${RELOCATING+ .tls_data.*}) |
}${RELOCATING+ |
__wrs_rtp_tls_data_size = . - __wrs_rtp_tls_data_start; |
___wrs_rtp_tls_data_size = . - __wrs_rtp_tls_data_start; |
__wrs_rtp_tls_data_align = ALIGNOF(.tls_data); |
___wrs_rtp_tls_data_align = ALIGNOF(.tls_data);}" |
|
OTHER_READWRITE_SECTIONS=".tls_vars ${RELOCATING-0} : {${RELOCATING+ |
__wrs_rtp_tls_vars_start = .; |
___wrs_rtp_tls_vars_start = .;} |
*(.tls_vars${RELOCATING+ .tls_vars.*}) |
}${RELOCATING+ |
__wrs_rtp_tls_vars_size = SIZEOF(.tls_vars); |
___wrs_rtp_tls_vars_size = SIZEOF(.tls_vars);}" |
|
ETEXT_NAME=etext_unrelocated |
OTHER_END_SYMBOLS="PROVIDE (${SYMPREFIX}_ehdr = ${TEXT_START_ADDR});" |
DATA_END_SYMBOLS=".edata : { PROVIDE (${SYMPREFIX}_edata = .); }" |
VXWORKS_BASE_EM_FILE=$EXTRA_EM_FILE |
EXTRA_EM_FILE=vxworks |
unset EMBEDDED |
/tic3xcoff_onchip.sh
0,0 → 1,8
SCRIPT_NAME=tic4xcoff |
OUTPUT_FORMAT="coff2-tic4x" |
OUTPUT_ARCH="tic3x" |
ARCH=tic3x |
TEMPLATE_NAME=ticoff |
OUTPUT_FORMAT_TEMPLATE=tic4x |
ONCHIP=yes |
|
/crisaout.sh
0,0 → 1,6
# This is for embedded products and elinux (no MMU) with a.out. |
SCRIPT_NAME=crisaout |
OUTPUT_FORMAT="a.out-cris" |
TARGET_PAGE_SIZE=2 |
TEXT_START_ADDR=0 |
ARCH=cris |
/mipsbig.sh
0,0 → 1,6
SCRIPT_NAME=mips |
OUTPUT_FORMAT="ecoff-bigmips" |
BIG_OUTPUT_FORMAT="ecoff-bigmips" |
LITTLE_OUTPUT_FORMAT="ecoff-littlemips" |
TARGET_PAGE_SIZE=0x1000000 |
ARCH=mips |
/mipspe.sh
0,0 → 1,10
ARCH=mips |
SCRIPT_NAME=pe |
OUTPUT_FORMAT="pei-mips" |
OUTPUT_ARCH="mips" |
RELOCATEABLE_OUTPUT_FORMAT="ecoff-littlemips" |
TEMPLATE_NAME=pe |
SUBSYSTEM=PE_DEF_SUBSYSTEM |
INITIAL_SYMBOL_CHAR=\"_\" |
ENTRY="_mainCRTStartup" |
TARGET_PAGE_SIZE=0x1000 |
/shlelf_nto.sh
0,0 → 1,10
SCRIPT_NAME=elf |
OUTPUT_FORMAT="elf32-shl" |
TEXT_START_ADDR=0x08040000 |
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" |
ARCH=sh |
MACHINE= |
TEMPLATE_NAME=elf32 |
GENERATE_SHLIB_SCRIPT=yes |
TEXT_START_SYMBOLS='_btext = .;' |
ENTRY=_start |
/mn10300.sh
0,0 → 1,6
. ${srcdir}/emulparams/mn10200.sh |
OUTPUT_FORMAT="elf32-mn10300" |
ARCH=mn10300 |
TEMPLATE_NAME=elf32 |
unset EXTRA_EM_FILE |
GENERATE_SHLIB_SCRIPT=yes |
/elf32ppcnto.sh
0,0 → 1,4
. ${srcdir}/emulparams/elf32ppc.sh |
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" |
TEXT_START_ADDR=0x48040000 |
|
/shelf32.sh
0,0 → 1,58
# Note: this parameter script is sourced by the other |
# sh[l]elf(32|64).sh parameter scripts. |
SCRIPT_NAME=elf |
OUTPUT_FORMAT=${OUTPUT_FORMAT-"elf32-sh64"} |
TEXT_START_ADDR=0x1000 |
MAXPAGESIZE=128 |
ARCH=sh |
MACHINE=sh5 |
ALIGNMENT=8 |
TEMPLATE_NAME=elf32 |
GENERATE_SHLIB_SCRIPT=yes |
EMBEDDED=yes |
|
DATA_START_SYMBOLS='PROVIDE (___data = .);' |
|
# If data is located right after .text (not explicitly specified), |
# then we need to align it to an 8-byte boundary. |
OTHER_READONLY_SECTIONS=' |
PROVIDE (___rodata = DEFINED (.rodata) ? .rodata : 0); |
. = ALIGN (8); |
' |
|
# Make _edata and .bss aligned by smuggling in an alignment directive. |
OTHER_GOT_SECTIONS='. = ALIGN (8);' |
|
# These are for compatibility with the COFF toolchain. |
ENTRY=start |
CTOR_START='___ctors = .;' |
CTOR_END='___ctors_end = .;' |
DTOR_START='___dtors = .;' |
DTOR_END='___dtors_end = .;' |
|
# Do not use the varname=${varname-'string'} construct here; there are |
# problems with that on some shells (e.g. on Solaris) where there is a bug |
# that trigs when $varname contains a "}". |
# The effect of the .stack definition is like setting STACK_ADDR to 0x80000, |
# except that the setting can be overridden, e.g. --defsym _stack=0xff000, |
# and that we put an extra sentinal value at the bottom. |
# N.B. We can't use PROVIDE to set the default value in a symbol because |
# the address is needed to place the .stack section, which in turn is needed |
# to hold the sentinel value(s). |
test -z "$CREATE_SHLIB" && OTHER_SECTIONS=" |
.stack ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : ALIGN (0x40000) + 0x80000)} : |
{ |
${RELOCATING+_stack = .;} |
*(.stack) |
LONG(0xdeaddead) |
} |
.cranges 0 : { *(.cranges) } |
" |
# We do not need .stack for shared library. |
test -n "$CREATE_SHLIB" && OTHER_SECTIONS=" |
.cranges 0 : { *(.cranges) } |
" |
|
# We need to adjust sizes in the .cranges section after relaxation, so |
# we need an after_allocation function, and it goes in this file. |
EXTRA_EM_FILE=${EXTRA_EM_FILE-sh64elf} |
/elf32bsmip.sh
0,0 → 1,3
. ${srcdir}/emulparams/elf32bmip.sh |
ENTRY=__start |
EXTRA_EM_FILE=irix |
/shelf_nbsd.sh
0,0 → 1,15
# If you change this file, please alsolook at files which source this one: |
# shlelf_nbsd.sh |
|
. ${srcdir}/emulparams/shelf.sh |
|
OUTPUT_FORMAT="elf32-sh-nbsd" |
TEXT_START_ADDR=0x400000 |
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" |
|
DATA_START_SYMBOLS='PROVIDE (__data_start = .);'; |
|
ENTRY=_start |
|
unset EMBEDDED |
unset OTHER_SECTIONS |
/avr6.sh
0,0 → 1,11
ARCH=avr:6 |
MACHINE= |
SCRIPT_NAME=avr |
OUTPUT_FORMAT="elf32-avr" |
MAXPAGESIZE=1 |
EMBEDDED=yes |
TEMPLATE_NAME=elf32 |
|
TEXT_LENGTH=1024K |
DATA_LENGTH=0xffa0 |
EXTRA_EM_FILE=avrelf |
/tic30coff.sh
0,0 → 1,7
SCRIPT_NAME=tic30coff |
OUTPUT_FORMAT="coff-tic30" |
OUTPUT_ARCH="tms320c30" |
TEXT_START_ADDR=0x0 |
TARGET_PAGE_SIZE=128 |
ARCH=tms320c30 |
BIG=1 |
/h8500m.sh
0,0 → 1,5
SCRIPT_NAME=h8500m |
OUTPUT_FORMAT="coff-h8500" |
TEXT_START_ADDR=0x8000 |
TARGET_PAGE_SIZE=128 |
ARCH=h8500 |
/shlelf64.sh
0,0 → 1,2
OUTPUT_FORMAT="elf64-sh64l" |
. ${srcdir}/emulparams/shelf64.sh |
/i386nbsd.sh
0,0 → 1,6
SCRIPT_NAME=aout |
TEXT_START_ADDR=0x1020 |
OUTPUT_FORMAT="a.out-i386-netbsd" |
TARGET_PAGE_SIZE=0x1000 |
ARCH=i386 |
EXECUTABLE_SYMBOLS='__DYNAMIC = 0;' |
/armsymbian.sh
0,0 → 1,22
. ${srcdir}/emulparams/armelf.sh |
SCRIPT_NAME="armbpabi" |
GENERATE_COMBRELOC_SCRIPT=1 |
OUTPUT_FORMAT="elf32-littlearm-symbian" |
BIG_OUTPUT_FORMAT="elf32-bigarm-symbian" |
LITTLE_OUTPUT_FORMAT="$OUTPUT_FORMAT" |
TARGET1_IS_REL=1 |
TARGET2_TYPE=abs |
# On BPABI systems, program headers should not be mapped. |
EMBEDDED=yes |
|
# As for armelf.sh, but add the SymbianOS-specific |
# .ARM.exidx$${Base,Limit} symbols. |
OTHER_READONLY_SECTIONS=" |
.ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) } |
${RELOCATING+ .ARM.exidx\$\$Base = . ; } |
${RELOCATING+ __exidx_start = .; } |
.ARM.exidx ${RELOCATING-0} : { *(.ARM.exidx${RELOCATING+* .gnu.linkonce.armexidx.*}) } |
${RELOCATING+ __exidx_end = .; } |
${RELOCATING+ .ARM.exidx\$\$Limit = . ; }" |
|
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" |
/i386lynx.sh
0,0 → 1,19
SCRIPT_NAME=elf |
OUTPUT_FORMAT="elf32-i386" |
ENTRY=_main |
TEXT_BASE=0x0 |
DYN_TEXT_BASE=0x00400000 |
TEXT_START_ADDR="(DEFINED(_DYNAMIC) ? ${DYN_TEXT_BASE} : ${TEXT_BASE})" |
case ${LD_FLAG} in |
n|N) TEXT_START_ADDR=0x1000 ;; |
esac |
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" |
ARCH=i386 |
MACHINE= |
NOP=0x9090 |
TEMPLATE_NAME=elf32 |
GENERATE_SHLIB_SCRIPT=yes |
ELF_INTERPRETER_NAME=\"/usr/lib/ld.so.1\" |
|
# Leave room of SIZEOF_HEADERS before text. |
EMBEDDED= |
/h8500.sh
0,0 → 1,5
SCRIPT_NAME=h8500 |
OUTPUT_FORMAT="coff-h8500" |
TEXT_START_ADDR=0x8000 |
TARGET_PAGE_SIZE=128 |
ARCH=h8500 |
/hppalinux.sh
0,0 → 1,22
# If you change this file, please also look at files which source this one: |
# hppanbsd.sh |
|
SCRIPT_NAME=elf |
ELFSIZE=32 |
OUTPUT_FORMAT="elf32-hppa-linux" |
TEXT_START_ADDR=0x10000 |
TARGET_PAGE_SIZE=0x10000 |
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" |
ARCH=hppa |
MACHINE=hppa1.1 # We use 1.1 specific features. |
NOP=0x08000240 |
START="_start" |
OTHER_READONLY_SECTIONS=" |
.PARISC.unwind ${RELOCATING-0} : { *(.PARISC.unwind) }" |
DATA_START_SYMBOLS='PROVIDE ($global$ = .);' |
DATA_PLT= |
PLT_BEFORE_GOT= |
GENERATE_SHLIB_SCRIPT=yes |
GENERATE_PIE_SCRIPT=yes |
TEMPLATE_NAME=elf32 |
EXTRA_EM_FILE=hppaelf |
/shlsymbian.sh
0,0 → 1,17
TEXT_START_ADDR=0x8000 |
SHLIB_TEXT_START_ADDR=0x8000 |
SHLIB_DATA_ADDR=0x400000 |
|
. ${srcdir}/emulparams/shelf.sh |
|
# Use only two underscores for the constructor/destructor symbols |
CTOR_START='__ctors = .;' |
CTOR_END='__ctors_end = .;' |
DTOR_START='__dtors = .;' |
DTOR_END='__dtors_end = .;' |
|
# Suppress the .stack section. |
test -z "$CREATE_SHLIB" && OTHER_SECTIONS="${RELOCATING+PROVIDE (_stack = 0x30000);}" |
|
OUTPUT_FORMAT="elf32-shl-symbian" |
SCRIPT_NAME=elf32sh-symbian |
/avr1.sh
0,0 → 1,11
ARCH=avr:1 |
MACHINE= |
SCRIPT_NAME=avr |
OUTPUT_FORMAT="elf32-avr" |
MAXPAGESIZE=1 |
EMBEDDED=yes |
TEMPLATE_NAME=elf32 |
|
TEXT_LENGTH=8K |
DATA_LENGTH=0 |
EXTRA_EM_FILE=avrelf |
/sh.sh
0,0 → 1,8
# If you change this file, please also look at files which source this one: |
# shl.sh |
|
SCRIPT_NAME=sh |
OUTPUT_FORMAT="coff-sh" |
TEXT_START_ADDR=0x8000 |
TARGET_PAGE_SIZE=128 |
ARCH=sh |
/i386nto.sh
0,0 → 1,10
SCRIPT_NAME=elf |
OUTPUT_FORMAT="elf32-i386" |
TEXT_START_ADDR=0x08048000 |
TEXT_START_SYMBOLS='_btext = .;' |
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" |
ARCH=i386 |
MACHINE= |
NOP=0x9090 |
TEMPLATE_NAME=elf32 |
GENERATE_SHLIB_SCRIPT=yes |
/elf32mep.sh
0,0 → 1,55
MACHINE= |
SCRIPT_NAME=mep |
OUTPUT_FORMAT="elf32-mep" |
TEXT_START_ADDR=0x1000 |
ARCH=mep |
MAXPAGESIZE=256 |
ENTRY=_start |
EMBEDDED=yes |
TEMPLATE_NAME=elf32 |
DATA_START_SYMBOLS='__data_start = . ;' |
OTHER_GOT_SYMBOLS=' |
. = ALIGN(4); |
__sdabase = . + 0x8000; |
.srodata : { *(.srodata) *(.srodata.*) *(.gnu.linkonce.srd.*) } |
' |
OTHER_SDATA_SECTIONS=' |
PROVIDE (__sdabase = .); |
__assert_tiny_size = ASSERT ((. < __sdabase) || ((. - __sdabase) <= 0x8000), |
"tiny section overflow"); |
' |
OTHER_READONLY_SECTIONS=' |
__stack = 0x001ffff0; |
__stack_size = 0x100000; |
__stack0 = (__stack - (0 * (__stack_size / 1)) + 15) / 16 * 16; |
|
.rostacktab : |
{ |
/* Emit a table describing the location of the different stacks. |
Only 1 processor in the default configuration. */ |
. = ALIGN(4); |
__stack_table = .; |
LONG (__stack0); |
} |
' |
OTHER_END_SYMBOLS=' |
PROVIDE (__heap = _end); |
PROVIDE (__heap_end = 0); |
' |
OTHER_TEXT_SECTIONS=' |
*(.ftext) *(.ftext.*) *(.gnu.linkonce.ft.*) |
. = ALIGN(8); |
*(.vftext) *(.vftext.*) *(.gnu.linkonce.vf.*) |
*(.frodata) *(.frodata.*) *(.gnu.linkonce.frd.*) |
' |
OTHER_READWRITE_SECTIONS=' |
. = ALIGN(4); |
__tpbase = .; |
.based : { *(.based) *(.based.*) *(.gnu.linkonce.based.*) } |
__assert_based_size = ASSERT ((. - __tpbase) <= 0x80, "based section overflow"); |
.far : { *(.far) *(.far.*) *(.gnu.linkonce.far.*) } |
' |
OTHER_BSS_SECTIONS=' |
__assert_near_size = ASSERT (. <= 0x1000000, "near section overflow"); |
.farbss : { PROVIDE (__farbss_start = .); *(.farbss) *(.farbss.*) PROVIDE (__farbss_end = .); } |
' |
elf32mep.sh
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tic54xcoff.sh
===================================================================
--- tic54xcoff.sh (nonexistent)
+++ tic54xcoff.sh (revision 816)
@@ -0,0 +1,8 @@
+SCRIPT_NAME=tic54xcoff
+OUTPUT_FORMAT="coff1-c54x"
+ARCH=tic54x
+ENTRY=_c_int00
+TEXT_START_ADDR=0x0080
+TARGET_PAGE_SIZE=0x1000
+TEMPLATE_NAME=ticoff
+OUTPUT_FORMAT_TEMPLATE=tic54x
Index: elf32_dlx.sh
===================================================================
--- elf32_dlx.sh (nonexistent)
+++ elf32_dlx.sh (revision 816)
@@ -0,0 +1,10 @@
+SCRIPT_NAME=dlx
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-dlx"
+ARCH=dlx
+MACHINE=
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=1
+EMBEDDED=yes
+MAXPAGESIZE=1
Index: i386mach.sh
===================================================================
--- i386mach.sh (nonexistent)
+++ i386mach.sh (revision 816)
@@ -0,0 +1,9 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-mach3"
+TEXT_START_ADDR=0x10020
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0x10000 ;;
+esac
+SEGMENT_SIZE=0x1000
+PAD_TEXT=t
+ARCH=i386
Index: i386coff.sh
===================================================================
--- i386coff.sh (nonexistent)
+++ i386coff.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=i386coff
+OUTPUT_FORMAT="coff-i386"
+TEXT_START_ADDR=0x1000000
+TARGET_PAGE_SIZE=0x1000000
+ARCH=i386
Index: sun4.sh
===================================================================
--- sun4.sh (nonexistent)
+++ sun4.sh (revision 816)
@@ -0,0 +1,7 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-sunos-big"
+TEXT_START_ADDR=0x2020
+TARGET_PAGE_SIZE=0x2000
+ALIGNMENT=8
+ARCH=sparc
+TEMPLATE_NAME=sunos
Index: i386pep.sh
===================================================================
--- i386pep.sh (nonexistent)
+++ i386pep.sh (revision 816)
@@ -0,0 +1,10 @@
+ARCH="i386:x86-64"
+SCRIPT_NAME=pep
+OUTPUT_FORMAT="pei-x86-64"
+RELOCATEABLE_OUTPUT_FORMAT="pe-x86-64"
+TEMPLATE_NAME=pep
+ENTRY="_mainCRTStartup"
+SUBSYSTEM=PE_DEF_SUBSYSTEM
+INITIAL_SYMBOL_CHAR=\"_\"
+TARGET_PAGE_SIZE=0x1000
+GENERATE_AUTO_IMPORT_SCRIPT=1
Index: armnto.sh
===================================================================
--- armnto.sh (nonexistent)
+++ armnto.sh (revision 816)
@@ -0,0 +1,28 @@
+MACHINE=
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-littlearm"
+BIG_OUTPUT_FORMAT="elf32-bigarm"
+LITTLE_OUTPUT_FORMAT="elf32-littlearm"
+TEXT_START_ADDR=0x00100000
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=armelf
+OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)'
+OTHER_BSS_SYMBOLS='__bss_start__ = .;'
+OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
+OTHER_END_SYMBOLS='__end__ = . ;'
+
+DATA_START_SYMBOLS='__data_start = . ;';
+
+GENERATE_SHLIB_SCRIPT=yes
+
+ARCH=arm
+MACHINE=
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+
+ENTRY=_start
+
+# This sets the stack to the top of the simulator memory (2^19 bytes).
+STACK_ADDR=0x80000
+
+# ARM does not support .s* sections.
+NO_SMALL_DATA=yes
Index: elf32lppcsim.sh
===================================================================
--- elf32lppcsim.sh (nonexistent)
+++ elf32lppcsim.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/elf32lppc.sh
+TEXT_START_ADDR=0x10000000
Index: elf32fr30.sh
===================================================================
--- elf32fr30.sh (nonexistent)
+++ elf32fr30.sh (revision 816)
@@ -0,0 +1,12 @@
+MACHINE=
+SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-fr30"
+TEXT_START_ADDR=0x10000
+ARCH=fr30
+MAXPAGESIZE=256
+ENTRY=_start
+EMBEDDED=yes
+NOP=0x9fa09fa0
+OTHER_SYMBOLS='PROVIDE (__stack = 0x200000);'
elf32fr30.sh
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: h8500c.sh
===================================================================
--- h8500c.sh (nonexistent)
+++ h8500c.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8500c
+OUTPUT_FORMAT="coff-h8500"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8500
Index: shelf64.sh
===================================================================
--- shelf64.sh (nonexistent)
+++ shelf64.sh (revision 816)
@@ -0,0 +1,18 @@
+# Note: this is sourced in turn by shlelf64.sh
+OUTPUT_FORMAT=${OUTPUT_FORMAT-"elf64-sh64"}
+ELFSIZE=64
+
+EXTRA_EM_FILE=
+. ${srcdir}/emulparams/shelf32.sh
+
+# We do not need .cranges
+test -z "$CREATE_SHLIB" && OTHER_SECTIONS="
+ .stack ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : ALIGN (0x40000) + 0x80000)} :
+ {
+ ${RELOCATING+_stack = .;}
+ *(.stack)
+ LONG(0xdeaddead)
+ }
+"
+# We do not need .stack for shared library.
+test -n "$CREATE_SHLIB" && OTHER_SECTIONS=""
Index: shelf32_nbsd.sh
===================================================================
--- shelf32_nbsd.sh (nonexistent)
+++ shelf32_nbsd.sh (revision 816)
@@ -0,0 +1,17 @@
+# If you change this file, please alsolook at files which source this one:
+# shlelf32_nbsd.sh
+
+. ${srcdir}/emulparams/shelf32.sh
+
+OUTPUT_FORMAT="elf32-sh64-nbsd"
+TEXT_START_ADDR=0x400000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+
+ENTRY=__start
+
+unset EMBEDDED
+unset STACK_ADDR
+unset OTHER_SECTIONS
+OTHER_SECTIONS="
+ .cranges 0 : { *(.cranges) }
+"
Index: shlelf_nbsd.sh
===================================================================
--- shlelf_nbsd.sh (nonexistent)
+++ shlelf_nbsd.sh (revision 816)
@@ -0,0 +1,3 @@
+. ${srcdir}/emulparams/shelf_nbsd.sh
+
+OUTPUT_FORMAT="elf32-shl-nbsd"
Index: README
===================================================================
--- README (nonexistent)
+++ README (revision 816)
@@ -0,0 +1,2 @@
+The files in this directory are read by genscripts.sh as shell commands.
+They set parameters for the emulations.
Index: pdp11.sh
===================================================================
--- pdp11.sh (nonexistent)
+++ pdp11.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-pdp11"
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=256
+ARCH=pdp11
Index: shelf32_linux.sh
===================================================================
--- shelf32_linux.sh (nonexistent)
+++ shelf32_linux.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/shlelf32_linux.sh
+OUTPUT_FORMAT="elf32-sh64big-linux"
Index: vanilla.sh
===================================================================
--- vanilla.sh (nonexistent)
+++ vanilla.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=vanilla
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=128
+ARCH=unknown
+TEMPLATE_NAME=vanilla
Index: pc532macha.sh
===================================================================
--- pc532macha.sh (nonexistent)
+++ pc532macha.sh (revision 816)
@@ -0,0 +1,8 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-pc532-mach"
+TARGET_PAGE_SIZE=0x1000
+TEXT_START_ADDR="0x10020"
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0x10000 ;;
+esac
+ARCH=ns32k
Index: h8500s.sh
===================================================================
--- h8500s.sh (nonexistent)
+++ h8500s.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8500s
+OUTPUT_FORMAT="coff-h8500"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8500
Index: elf64bmip.sh
===================================================================
--- elf64bmip.sh (nonexistent)
+++ elf64bmip.sh (revision 816)
@@ -0,0 +1,23 @@
+. ${srcdir}/emulparams/elf64bmip-defs.sh
+OUTPUT_FORMAT="elf64-bigmips"
+BIG_OUTPUT_FORMAT="elf64-bigmips"
+LITTLE_OUTPUT_FORMAT="elf64-littlemips"
+SHLIB_TEXT_START_ADDR=0x3ffffe0000
+
+# IRIX6 defines these symbols. 0x40 is the size of the ELF header.
+EXECUTABLE_SYMBOLS="
+ __dso_displacement = 0;
+ ${CREATE_SHLIB-${CREATE_PIE-__elf_header = ${TEXT_START_ADDR};}}
+ ${CREATE_SHLIB+__elf_header = ${SHLIB_TEXT_START_ADDR};}
+ ${CREATE_PIE+__elf_header = ${SHLIB_TEXT_START_ADDR};}
+ __program_header_table = __elf_header + 0x40;
+"
+
+# There are often dynamic relocations against the .rodata section.
+# Setting DT_TEXTREL in the .dynamic section does not convince the
+# IRIX6 linker to permit relocations against the text segment.
+# Following the IRIX linker, we simply put .rodata in the data
+# segment.
+WRITABLE_RODATA=
+
+EXTRA_EM_FILE=irix
elf64bmip.sh
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: mmo.sh
===================================================================
--- mmo.sh (nonexistent)
+++ mmo.sh (revision 816)
@@ -0,0 +1,10 @@
+SCRIPT_NAME=mmo
+TARGET_PAGE_SIZE=256
+
+# Default to 0 as mmixal does.
+TEXT_START_ADDR='DEFINED (__.MMIX.start..text) ? __.MMIX.start..text : 0'
+DATA_ADDR='DEFINED (__.MMIX.start..data) ? __.MMIX.start..data : 0x2000000000000000'
+OUTPUT_FORMAT=mmo
+ARCH=mmix
+COMPILE_IN=yes
+EXTRA_EM_FILE=mmo
Index: tic4xcoff.sh
===================================================================
--- tic4xcoff.sh (nonexistent)
+++ tic4xcoff.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=tic4xcoff
+OUTPUT_FORMAT="coff2-tic4x"
+OUTPUT_ARCH="tic4x"
+ARCH=tic4x
+TEMPLATE_NAME=ticoff
+OUTPUT_FORMAT_TEMPLATE=tic4x
Index: d30v_o.sh
===================================================================
--- d30v_o.sh (nonexistent)
+++ d30v_o.sh (revision 816)
@@ -0,0 +1,22 @@
+MACHINE=
+SCRIPT_NAME=elfd30v
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-d30v"
+TEXT_START_ADDR=0x00000000
+DATA_START_ADDR=0x20000000
+EMEM_START_ADDR=0x80000000
+STACK_START_ADDR=0x20008000
+EIT_START_ADDR=0xfffff020
+TEXT_SIZE=64K
+DATA_SIZE=32K
+EMEM_SIZE=8M
+EIT_SIZE=320
+TEXT_MEMORY=text
+DATA_MEMORY=data
+BSS_MEMORY=data
+TEXT_DEF_SECTION="(x)"
+DATA_DEF_SECTION="(rw)"
+EMEM_DEF_SECTION=""
+ARCH=d30v
+EMBEDDED=t
Index: elf64lppc.sh
===================================================================
--- elf64lppc.sh (nonexistent)
+++ elf64lppc.sh (revision 816)
@@ -0,0 +1,3 @@
+. ${srcdir}/emulparams/elf64ppc.sh
+OUTPUT_FORMAT="elf64-powerpcle"
+NOP=0x00000060
Index: elf32frvfd.sh
===================================================================
--- elf32frvfd.sh (nonexistent)
+++ elf32frvfd.sh (revision 816)
@@ -0,0 +1,17 @@
+. ${srcdir}/emulparams/elf32frv.sh
+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.
+OTHER_GOT_SYMBOLS=
+OTHER_READONLY_SECTIONS="
+ .rofixup : {
+ ${RELOCATING+__ROFIXUP_LIST__ = .;}
+ *(.rofixup)
+ ${RELOCATING+__ROFIXUP_END__ = .;}
+ }
+"
Index: armelf_vxworks.sh
===================================================================
--- armelf_vxworks.sh (nonexistent)
+++ armelf_vxworks.sh (revision 816)
@@ -0,0 +1,6 @@
+. ${srcdir}/emulparams/armelf.sh
+OUTPUT_FORMAT="elf32-littlearm-vxworks"
+BIG_OUTPUT_FORMAT="elf32-bigarm-vxworks"
+LITTLE_OUTPUT_FORMAT="$OUTPUT_FORMAT"
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+. ${srcdir}/emulparams/vxworks.sh
Index: pjlelf.sh
===================================================================
--- pjlelf.sh (nonexistent)
+++ pjlelf.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/pjelf.sh
+OUTPUT_FORMAT="elf32-pjl"
Index: armaoutl.sh
===================================================================
--- armaoutl.sh (nonexistent)
+++ armaoutl.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=armaout
+OUTPUT_FORMAT="a.out-arm-little"
+HEADER_START_ADDR=0x8000
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=32768
+ARCH=arm
Index: elf32bfinfd.sh
===================================================================
--- elf32bfinfd.sh (nonexistent)
+++ elf32bfinfd.sh (revision 816)
@@ -0,0 +1,16 @@
+. ${srcdir}/emulparams/bfin.sh
+unset STACK_ADDR
+OUTPUT_FORMAT="elf32-bfinfdpic"
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+EMBEDDED= # This gets us program headers mapped as part of the text segment.
+OTHER_GOT_SYMBOLS=
+OTHER_READONLY_SECTIONS="
+ .rofixup : {
+ ${RELOCATING+__ROFIXUP_LIST__ = .;}
+ *(.rofixup)
+ ${RELOCATING+__ROFIXUP_END__ = .;}
+ }
+"
Index: shl.sh
===================================================================
--- shl.sh (nonexistent)
+++ shl.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/sh.sh
+OUTPUT_FORMAT="coff-shl"
Index: ppcnw.sh
===================================================================
--- ppcnw.sh (nonexistent)
+++ ppcnw.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=nw
+OUTPUT_FORMAT="elf32-powerpc"
+TEXT_START_ADDR=0x0400000
+DATA_ADDR=0x10000000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=powerpc
Index: st2000.sh
===================================================================
--- st2000.sh (nonexistent)
+++ st2000.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=st2000
+OUTPUT_FORMAT="coff-m68k"
+TEXT_START_ADDR=0x0
+TARGET_PAGE_SIZE=128
+ARCH=m68k
Index: h8300sxn.sh
===================================================================
--- h8300sxn.sh (nonexistent)
+++ h8300sxn.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8300sxn
+OUTPUT_FORMAT="coff-h8300"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8300
Index: elf_i386_chaos.sh
===================================================================
--- elf_i386_chaos.sh (nonexistent)
+++ elf_i386_chaos.sh (revision 816)
@@ -0,0 +1,10 @@
+SCRIPT_NAME=elf_chaos
+OUTPUT_FORMAT="elf32-i386"
+TEXT_START_ADDR=0x40000000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=i386
+MACHINE=
+NOP=0x90909090
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+NO_SMALL_DATA=yes
Index: hppaobsd.sh
===================================================================
--- hppaobsd.sh (nonexistent)
+++ hppaobsd.sh (revision 816)
@@ -0,0 +1,6 @@
+. ${srcdir}/emulparams/hppanbsd.sh
+
+OUTPUT_FORMAT="elf32-hppa"
+TEXT_START_ADDR=0x1000
+TARGET_PAGE_SIZE=0x1000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
Index: elf32_spu.sh
===================================================================
--- elf32_spu.sh (nonexistent)
+++ elf32_spu.sh (revision 816)
@@ -0,0 +1,20 @@
+SCRIPT_NAME=elf
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=spuelf
+OUTPUT_FORMAT="elf32-spu"
+ARCH=spu
+MACHINE=
+ALIGNMENT=16
+TEXT_START_ADDR=0
+INITIAL_READONLY_SECTIONS='.interrupt : { KEEP(*(.interrupt)) }'
+if test -z "${CREATE_SHLIB}"; then
+ INITIAL_READONLY_SECTIONS="${INITIAL_READONLY_SECTIONS}
+ .interp ${RELOCATING-0} : { *(.interp) }"
+fi
+OTHER_END_SYMBOLS='PROVIDE (__stack = 0x3fff0);'
+NO_SMALL_DATA=true
+EMBEDDED=true
+MAXPAGESIZE=0x80
+DATA_ADDR="ALIGN(${MAXPAGESIZE})"
+OTHER_BSS_SECTIONS=".toe ALIGN(128) : { *(.toe) } = 0"
+OTHER_SECTIONS=".note.spu_name 0 : { KEEP(*(.note.spu_name)) }"
Index: avr2.sh
===================================================================
--- avr2.sh (nonexistent)
+++ avr2.sh (revision 816)
@@ -0,0 +1,11 @@
+ARCH=avr:2
+MACHINE=
+SCRIPT_NAME=avr
+OUTPUT_FORMAT="elf32-avr"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=elf32
+
+TEXT_LENGTH=8K
+DATA_LENGTH=0xffa0
+EXTRA_EM_FILE=avrelf
Index: m68kelf.sh
===================================================================
--- m68kelf.sh (nonexistent)
+++ m68kelf.sh (revision 816)
@@ -0,0 +1,13 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-m68k"
+TEXT_START_ADDR=0x80000000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+ARCH=m68k
+MACHINE=
+NOP=0x4e754e75
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=m68kelf
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+NO_SMALL_DATA=yes
\ No newline at end of file
Index: m68kaout.sh
===================================================================
--- m68kaout.sh (nonexistent)
+++ m68kaout.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-zero-big"
+TEXT_START_ADDR=0x2020
+TARGET_PAGE_SIZE=0x2000
+SEGMENT_SIZE=0x20000
+ARCH=m68k
Index: d30v_e.sh
===================================================================
--- d30v_e.sh (nonexistent)
+++ d30v_e.sh (revision 816)
@@ -0,0 +1,22 @@
+MACHINE=
+SCRIPT_NAME=elfd30v
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-d30v"
+TEXT_START_ADDR=0x00000000
+DATA_START_ADDR=0x20000000
+EMEM_START_ADDR=0x80000000
+STACK_START_ADDR=0x20008000
+EIT_START_ADDR=0xfffff020
+TEXT_SIZE=64K
+DATA_SIZE=32K
+EMEM_SIZE=8M
+EIT_SIZE=320
+TEXT_MEMORY=emem
+DATA_MEMORY=emem
+BSS_MEMORY=emem
+TEXT_DEF_SECTION=""
+DATA_DEF_SECTION=""
+EMEM_DEF_SECTION="(rwx)"
+ARCH=d30v
+EMBEDDED=t
Index: elf32_i860.sh
===================================================================
--- elf32_i860.sh (nonexistent)
+++ elf32_i860.sh (revision 816)
@@ -0,0 +1,11 @@
+# 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"
+TEXT_START_ADDR=0
+PAGE_SIZE=0x1000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=i860
Index: elf32xc16xl.sh
===================================================================
--- elf32xc16xl.sh (nonexistent)
+++ elf32xc16xl.sh (revision 816)
@@ -0,0 +1,8 @@
+SCRIPT_NAME=elf32xc16xl
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf32-xc16x"
+TEXT_START_ADDR=0xc00300
+ARCH=xc16x:xc16xl
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ENTRY=_start
+EMBEDDED=yes
Index: elf_i386_be.sh
===================================================================
--- elf_i386_be.sh (nonexistent)
+++ elf_i386_be.sh (revision 816)
@@ -0,0 +1,10 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-i386"
+TEXT_START_ADDR=0x80000000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=i386
+MACHINE=
+NOP=0x90909090
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+NO_SMALL_DATA=yes
Index: criself.sh
===================================================================
--- criself.sh (nonexistent)
+++ criself.sh (revision 816)
@@ -0,0 +1,103 @@
+# This is for embedded products (no MMU) with ELF.
+MACHINE=
+SCRIPT_NAME=elf
+TEMPLATE_NAME=elf32
+
+# Symbols have underscore prepended.
+OUTPUT_FORMAT="elf32-us-cris"
+ARCH=cris
+MAXPAGESIZE=32
+ENTRY=__start
+EMBEDDED=yes
+ALIGNMENT=32
+TEXT_START_ADDR=0
+
+# Put crt0 for flash/eprom etc. in this section.
+INITIAL_READONLY_SECTIONS=
+if test -z "${CREATE_SHLIB}"; then
+ INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }"
+fi
+INITIAL_READONLY_SECTIONS="${INITIAL_READONLY_SECTIONS}
+ .startup : { KEEP(*(.startup)) }"
+
+# Setting __Stext to . in TEXT_START_SYMBOLS doesn't get what we want
+# most of the time, which is the start of all read-only sections;
+# there's at least .startup and .init before it. We have to resort to
+# trickery. Note that __Stext is always defined, not PROVIDE:d, since
+# external tools look for it.
+TEXT_START_SYMBOLS='__Stext = ADDR (.startup);'
+
+# The __start dance is to get us through assumptions about entry
+# symbols, and to clear _start for normal use with sane programs.
+EXECUTABLE_SYMBOLS='
+__start = DEFINED(__start) ? __start :
+ DEFINED(_start) ? _start :
+ DEFINED(start) ? start :
+ DEFINED(.startup) ? .startup + 2 : 2;
+'
+
+# Smuggle an "OTHER_TEXT_END_SYMBOLS" here.
+OTHER_READONLY_SECTIONS="${RELOCATING+PROVIDE (__Etext = .);}"
+DATA_START_SYMBOLS='PROVIDE (__Sdata = .);'
+
+# Smuggle an "OTHER_DATA_END_SYMBOLS" here.
+OTHER_SDATA_SECTIONS="${RELOCATING+PROVIDE (__Edata = .);}"
+
+# If .bss does not immediately follow .data but has its own start
+# address, we can't get to it with OTHER_BSS_SYMBOLS, neither can we
+# use ADDR(.bss) there. Instead, we use the symbol support for the
+# end symbol.
+OTHER_BSS_END_SYMBOLS='
+ PROVIDE (__Ebss = .);
+ __Sbss = ADDR (.bss);
+ PROVIDE (_bss_start = __Sbss);
+'
+OTHER_END_SYMBOLS='PROVIDE (__end = .);'
+
+INIT_START='
+ . = ALIGN(2);
+ ___init__start = .;
+ PROVIDE (___do_global_ctors = .);
+'
+
+INIT_END='
+ PROVIDE (__init__end = .);
+ PROVIDE (___init__end = .);
+'
+
+FINI_START='
+ . = ALIGN (2);
+ ___fini__start = .;
+ PROVIDE (___do_global_dtors = .);
+'
+
+FINI_END='
+ PROVIDE (__fini__end = .);
+ ___fini__end = .;
+'
+
+CTOR_START='
+ PROVIDE (___ctors = .);
+ ___elf_ctors_dtors_begin = .;
+'
+
+CTOR_END='
+ PROVIDE (___ctors_end = .);
+'
+
+DTOR_START='
+ PROVIDE (___dtors = .);
+'
+
+CTOR_END='
+ PROVIDE (___dtors_end = .);
+ ___elf_ctors_dtors_end = .;
+'
+
+# Also add the other symbols provided for rsim/xsim and elinux.
+OTHER_SYMBOLS='
+ PROVIDE (__Eall = .);
+ PROVIDE (__Endmem = 0x10000000);
+ PROVIDE (__Stacksize = 0);
+'
+NO_SMALL_DATA=yes
Index: h8300elf.sh
===================================================================
--- h8300elf.sh (nonexistent)
+++ h8300elf.sh (revision 816)
@@ -0,0 +1,25 @@
+# If you change this file, please also look at files which source this one:
+# h8300helf.sh h8300self.sh
+
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-h8300"
+TEXT_START_ADDR=0x100
+MAXPAGESIZE=2
+TARGET_PAGE_SIZE=128
+ARCH=h8300
+TEMPLATE_NAME=elf32
+EMBEDDED=yes
+STACK_ADDR=0xfefc
+TINY_READONLY_SECTION=".tinyrodata :
+ {
+ *(.tinyrodata)
+ } =0"
+TINY_DATA_SECTION=".tinydata ${RELOCATING+0xff8000} :
+ {
+ *(.tinydata)
+ ${RELOCATING+ _tinydata = .; }
+ }"
+TINY_BSS_SECTION=".tinybss : ${RELOCATING+AT (_tinydata)}
+ {
+ *(.tinybss)
+ }"
Index: elf32frv.sh
===================================================================
--- elf32frv.sh (nonexistent)
+++ elf32frv.sh (revision 816)
@@ -0,0 +1,21 @@
+MACHINE=
+SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-frv"
+TEXT_START_ADDR=0x10000
+ARCH=frv
+MAXPAGESIZE=256
+ENTRY=_start
+EMBEDDED=yes
+OTHER_EXCLUDE_FILES='*frvend.o'
+OTHER_END_SYMBOLS='__end = .;'
+DATA_START_SYMBOLS='__data_start = . ;'
+STACK_ADDR=0x200000
+NOP=0x80000000
+OTHER_GOT_SYMBOLS='
+ . = ALIGN(8); _gp = . + 2048;
+ PROVIDE (gp = _gp);'
+OTHER_READONLY_SECTIONS='
+ .rofixup : { *(.rofixup) }
+'
elf32frv.sh
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: elf64hppa.sh
===================================================================
--- elf64hppa.sh (nonexistent)
+++ elf64hppa.sh (revision 816)
@@ -0,0 +1,22 @@
+. ${srcdir}/emulparams/hppa64linux.sh
+OUTPUT_FORMAT="elf64-hppa"
+LIB_PATH="=/usr/lib/pa20_64:=/opt/langtools/lib/pa20_64"
+TEXT_START_ADDR=0x4000000000001000
+DATA_ADDR=0x8000000000001000
+TARGET_PAGE_SIZE=4096
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+
+# The HP dynamic linker actually requires you set the start of text and
+# data to some reasonable value. Of course nobody knows what reasoanble
+# really is, so we just use the same values that HP's linker uses.
+SHLIB_TEXT_START_ADDR=0x4000000000001000
+SHLIB_DATA_ADDR=0x8000000000001000
+
+# The linker is required to define these two symbols.
+EXECUTABLE_SYMBOLS='PROVIDE (__SYSTEM_ID = 0x214); PROVIDE (_FPU_STATUS = 0x0);'
+# The PA64 ELF port needs two additional initializer sections and also wants
+# a start/end symbol pair for the .init and .fini sections.
+INIT_START='KEEP (*(.HP.init)); PROVIDE (__preinit_start = .); KEEP (*(.preinit)); PROVIDE (__preinit_end = .); PROVIDE (__init_start = .);'
+INIT_END='PROVIDE (__init_end = .);'
+FINI_START='PROVIDE (__fini_start = .);'
+FINI_END='PROVIDE (__fini_end = .);'
elf64hppa.sh
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: sparcaout.sh
===================================================================
--- sparcaout.sh (nonexistent)
+++ sparcaout.sh (revision 816)
@@ -0,0 +1,10 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-sunos-big"
+BIG_OUTPUT_FORMAT="a.out-sunos-big"
+LITTLE_OUTPUT_FORMAT="a.out-sparc-little"
+TEXT_START_ADDR=0x2020
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0x2000 ;;
+esac
+TARGET_PAGE_SIZE=0x2000
+ARCH=sparc
Index: d10velf.sh
===================================================================
--- d10velf.sh (nonexistent)
+++ d10velf.sh (revision 816)
@@ -0,0 +1,9 @@
+MACHINE=
+SCRIPT_NAME=elfd10v
+OUTPUT_FORMAT="elf32-d10v"
+TEXT_START_ADDR=0x01014000
+READONLY_START_ADDR=0x02000004
+ARCH=d10v
+MAXPAGESIZE=32
+EMBEDDED=t
+TEMPLATE_NAME=elf32
Index: i386beos.sh
===================================================================
--- i386beos.sh (nonexistent)
+++ i386beos.sh (revision 816)
@@ -0,0 +1,5 @@
+ARCH=i386
+SCRIPT_NAME=i386beos
+OUTPUT_FORMAT="pei-i386"
+RELOCATEABLE_OUTPUT_FORMAT="pe-i386"
+TEMPLATE_NAME=beos
i386beos.sh
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: d30velf.sh
===================================================================
--- d30velf.sh (nonexistent)
+++ d30velf.sh (revision 816)
@@ -0,0 +1,22 @@
+MACHINE=
+SCRIPT_NAME=elfd30v
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-d30v"
+TEXT_START_ADDR=0x00000000
+DATA_START_ADDR=0x20000000
+EMEM_START_ADDR=0x80000000
+STACK_START_ADDR=0x20008000
+EIT_START_ADDR=0xfffff020
+TEXT_SIZE=2000K
+DATA_SIZE=2000K
+EMEM_SIZE=8M
+EIT_SIZE=320
+TEXT_MEMORY=text
+DATA_MEMORY=data
+BSS_MEMORY=data
+TEXT_DEF_SECTION="(x)"
+DATA_DEF_SECTION="(rw)"
+EMEM_DEF_SECTION=""
+ARCH=d30v
+EMBEDDED=t
Index: coff_sparc.sh
===================================================================
--- coff_sparc.sh (nonexistent)
+++ coff_sparc.sh (revision 816)
@@ -0,0 +1,9 @@
+SCRIPT_NAME=sparccoff
+OUTPUT_FORMAT="coff-sparc"
+# following are dubious (borrowed from sparc lynx)
+TARGET_PAGE_SIZE=0x1000
+TEXT_START_ADDR=0
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0x1000 ;;
+esac
+ARCH=sparc
Index: ppcpe.sh
===================================================================
--- ppcpe.sh (nonexistent)
+++ ppcpe.sh (revision 816)
@@ -0,0 +1,8 @@
+ARCH=powerpc
+SCRIPT_NAME=ppcpe
+OUTPUT_FORMAT="pei-powerpcle"
+TEMPLATE_NAME=pe
+ENTRY="_mainCRTStartup"
+SUBSYSTEM=PE_DEF_SUBSYSTEM
+INITIAL_SYMBOL_CHAR=\"_\"
+TARGET_PAGE_SIZE=0x1000
Index: i386linux.sh
===================================================================
--- i386linux.sh (nonexistent)
+++ i386linux.sh (revision 816)
@@ -0,0 +1,9 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-i386-linux"
+TARGET_PAGE_SIZE=0x1000
+TEXT_START_ADDR=0x1020
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0 ;;
+esac
+ARCH=i386
+TEMPLATE_NAME=linux
Index: h8300h.sh
===================================================================
--- h8300h.sh (nonexistent)
+++ h8300h.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8300h
+OUTPUT_FORMAT="coff-h8300"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8300
Index: armaoutb.sh
===================================================================
--- armaoutb.sh (nonexistent)
+++ armaoutb.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=armaout
+OUTPUT_FORMAT="a.out-arm-big"
+HEADER_START_ADDR=0x8000
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=32768
+ARCH=arm
Index: armelfb_nbsd.sh
===================================================================
--- armelfb_nbsd.sh (nonexistent)
+++ armelfb_nbsd.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/armelf_nbsd.sh
+OUTPUT_FORMAT="elf32-bigarm"
Index: elf32ppc.sh
===================================================================
--- elf32ppc.sh (nonexistent)
+++ elf32ppc.sh (revision 816)
@@ -0,0 +1,16 @@
+# If you change this file, please also look at files which source this one:
+# elf32lppcnto.sh elf32lppc.sh elf32ppclinux.sh elf32ppcnto.sh
+# elf32ppcsim.sh
+
+. ${srcdir}/emulparams/elf32ppccommon.sh
+# Yes, we want duplicate .got and .plt sections. The linker chooses the
+# appropriate one magically in ppc_after_open
+DATA_GOT=
+SDATA_GOT=
+SEPARATE_GOTPLT=0
+BSS_PLT=
+GOT=".got ${RELOCATING-0} : SPECIAL { *(.got) }"
+PLT=".plt ${RELOCATING-0} : SPECIAL { *(.plt) }"
+GOTPLT="${PLT}"
+OTHER_TEXT_SECTIONS="*(.glink)"
+EXTRA_EM_FILE=ppc32elf
Index: m68hc12elfb.sh
===================================================================
--- m68hc12elfb.sh (nonexistent)
+++ m68hc12elfb.sh (revision 816)
@@ -0,0 +1,12 @@
+MACHINE=
+SCRIPT_NAME=elfm68hc12
+OUTPUT_FORMAT="elf32-m68hc12"
+TEXT_MEMORY=text
+DATA_MEMORY=data
+EEPROM_MEMORY=eeprom
+ARCH=m68hc12
+MAXPAGESIZE=32
+GENERIC_BOARD=yes
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=m68hc1xelf
+
Index: hp300bsd.sh
===================================================================
--- hp300bsd.sh (nonexistent)
+++ hp300bsd.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-hp300bsd"
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=4096
+ARCH=m68k
Index: elf32bmipn32-defs.sh
===================================================================
--- elf32bmipn32-defs.sh (nonexistent)
+++ elf32bmipn32-defs.sh (revision 816)
@@ -0,0 +1,77 @@
+# If you change this file, please also look at files which source this one:
+# elf64bmip.sh elf64btsmip.sh elf32btsmipn32.sh elf32bmipn32.sh
+
+# This is an ELF platform.
+SCRIPT_NAME=elf
+
+# Handle both big- and little-ended 32-bit MIPS objects.
+ARCH=mips
+OUTPUT_FORMAT="elf32-bigmips"
+BIG_OUTPUT_FORMAT="elf32-bigmips"
+LITTLE_OUTPUT_FORMAT="elf32-littlemips"
+
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=mipself
+
+case "$EMULATION_NAME" in
+elf32*n32*) ELFSIZE=32 ;;
+elf64*) ELFSIZE=64 ;;
+*) echo $0: unhandled emulation $EMULATION_NAME >&2; exit 1 ;;
+esac
+
+if test `echo "$host" | sed -e s/64//` = `echo "$target" | sed -e s/64//`; then
+ case " $EMULATION_LIBPATH " in
+ *" ${EMULATION_NAME} "*)
+ NATIVE=yes
+ ;;
+ esac
+fi
+
+# Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first.
+LIBPATH_SUFFIX=$ELFSIZE
+
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+
+TEXT_START_ADDR=0x10000000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ENTRY=__start
+
+# Unlike most targets, the MIPS backend puts all dynamic relocations
+# in a single dynobj section, which it also calls ".rel.dyn". It does
+# this so that it can easily sort all dynamic relocations before the
+# output section has been populated.
+OTHER_GOT_RELOC_SECTIONS="
+ .rel.dyn ${RELOCATING-0} : { *(.rel.dyn) }
+"
+# GOT-related settings.
+# If the output has a GOT section, there must be exactly 0x7ff0 bytes
+# between .got and _gp. The ". = ." below stops the orphan code from
+# inserting other sections between the assignment to _gp and the start
+# of .got.
+OTHER_GOT_SYMBOLS='
+ . = .;
+ _gp = ALIGN(16) + 0x7ff0;
+'
+OTHER_SDATA_SECTIONS="
+ .lit8 ${RELOCATING-0} : { *(.lit8) }
+ .lit4 ${RELOCATING-0} : { *(.lit4) }
+ .srdata ${RELOCATING-0} : { *(.srdata) }
+"
+
+# Magic symbols.
+TEXT_START_SYMBOLS='_ftext = . ;'
+DATA_START_SYMBOLS='_fdata = . ;'
+OTHER_BSS_SYMBOLS='_fbss = .;'
+
+INITIAL_READONLY_SECTIONS=
+if test -z "${CREATE_SHLIB}"; then
+ INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }"
+fi
+INITIAL_READONLY_SECTIONS="${INITIAL_READONLY_SECTIONS}
+ .reginfo ${RELOCATING-0} : { *(.reginfo) }"
+# Discard any .MIPS.content* or .MIPS.events* sections. The linker
+# doesn't know how to adjust them.
+OTHER_SECTIONS="/DISCARD/ : { *(.MIPS.content*) *(.MIPS.events*) }"
+
+TEXT_DYNAMIC=
Index: hp3hpux.sh
===================================================================
--- hp3hpux.sh (nonexistent)
+++ hp3hpux.sh (revision 816)
@@ -0,0 +1,8 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-hp300hpux"
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=4096
+ARCH=m68k
+STACKZERO="___stack_zero = 0x2000; __DYNAMIC = 0;"
+# This is needed for HPUX 9.0; it is unnecessary but harmless for 8.0.
+SHLIB_PATH="___dld_shlib_path = 0;"
Index: elf32m32c.sh
===================================================================
--- elf32m32c.sh (nonexistent)
+++ elf32m32c.sh (revision 816)
@@ -0,0 +1,26 @@
+MACHINE=
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-m32c"
+# See also `include/elf/m32c.h'
+TEXT_START_ADDR=0x2000
+ARCH=m32c
+ENTRY=_start
+EMBEDDED=yes
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=needrelax
+ELFSIZE=32
+MAXPAGESIZE=256
+# This is like setting STACK_ADDR to 0x0073FFFF0, except that the setting can
+# be overridden, e.g. --defsym _stack=0x0f00, and that we put an extra
+# sentinal value at the bottom.
+# N.B. We can't use PROVIDE to set the default value in a symbol because
+# the address is needed to place the .stack section, which in turn is needed
+# to hold the sentinel value(s).
+test -z "$CREATE_SHLIB" && OTHER_SECTIONS=" .stack ${RELOCATING-0}${RELOCATING+(DEFINED(__stack) ? __stack : 0x7fc)} :
+ {
+ ${RELOCATING+__stack = .;}
+ *(.stack)
+ LONG(0xdeaddead)
+ }"
+# We do not need .stack for shared library.
+test -n "$CREATE_SHLIB" && OTHER_SECTIONS=""
Index: mipsidt.sh
===================================================================
--- mipsidt.sh (nonexistent)
+++ mipsidt.sh (revision 816)
@@ -0,0 +1,12 @@
+SCRIPT_NAME=mips
+OUTPUT_FORMAT="ecoff-bigmips"
+BIG_OUTPUT_FORMAT="ecoff-bigmips"
+LITTLE_OUTPUT_FORMAT="ecoff-littlemips"
+TARGET_PAGE_SIZE=0x1000000
+ARCH=mips
+ENTRY=start
+TEXT_START_ADDR=0xa0012000
+DATA_ADDR=.
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=mipsecoff
+EMBEDDED=yes
Index: arm_epoc_pe.sh
===================================================================
--- arm_epoc_pe.sh (nonexistent)
+++ arm_epoc_pe.sh (revision 816)
@@ -0,0 +1,10 @@
+ARCH=arm
+SCRIPT_NAME=epocpe
+OUTPUT_FORMAT="epoc-pei-arm-little"
+LITTLE_OUTPUT_FORMAT="epoc-pei-arm-little"
+BIG_OUTPUT_FORMAT="epoc-pei-arm-big"
+TEMPLATE_NAME=pe
+ENTRY="_mainCRTStartup"
+SUBSYSTEM=PE_DEF_SUBSYSTEM
+INITIAL_SYMBOL_CHAR=\"_\"
+TARGET_PAGE_SIZE=0x1000
Index: news.sh
===================================================================
--- news.sh (nonexistent)
+++ news.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-newsos3"
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=0x1000
+ARCH=m68k
Index: m68hc11elf.sh
===================================================================
--- m68hc11elf.sh (nonexistent)
+++ m68hc11elf.sh (revision 816)
@@ -0,0 +1,18 @@
+MACHINE=
+SCRIPT_NAME=elfm68hc11
+OUTPUT_FORMAT="elf32-m68hc11"
+ROM_START_ADDR=0x08000
+ROM_SIZE=0x8000
+RAM_START_ADDR=0x01100
+RAM_SIZE=0x6F00
+EEPROM_START_ADDR=0xb600
+EEPROM_SIZE=512
+TEXT_MEMORY=text
+DATA_MEMORY=data
+EEPROM_MEMORY=eeprom
+ARCH=m68hc11
+MAXPAGESIZE=32
+EMBEDDED=yes
+GENERIC_BOARD=no
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=m68hc1xelf
Index: hppaelf.sh
===================================================================
--- hppaelf.sh (nonexistent)
+++ hppaelf.sh (revision 816)
@@ -0,0 +1,9 @@
+SCRIPT_NAME=hppaelf
+OUTPUT_FORMAT="elf32-hppa"
+TEXT_START_ADDR=0x1000
+TARGET_PAGE_SIZE=0x1000
+ARCH=hppa
+NOP=0x08000240
+START="$START$"
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=hppaelf
Index: elf32lsmip.sh
===================================================================
--- elf32lsmip.sh (nonexistent)
+++ elf32lsmip.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/elf32lmip.sh
+ENTRY=__start
Index: elf_x86_64_fbsd.sh
===================================================================
--- elf_x86_64_fbsd.sh (nonexistent)
+++ elf_x86_64_fbsd.sh (revision 816)
@@ -0,0 +1,3 @@
+. ${srcdir}/emulparams/elf_x86_64.sh
+. ${srcdir}/emulparams/elf_fbsd.sh
+OUTPUT_FORMAT="elf64-x86-64-freebsd"
Index: elf64ppc.sh
===================================================================
--- elf64ppc.sh (nonexistent)
+++ elf64ppc.sh (revision 816)
@@ -0,0 +1,50 @@
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=ppc64elf
+ELFSIZE=64
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf64-powerpc"
+TEXT_START_ADDR=0x10000000
+#SEGMENT_SIZE=0x10000000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+ARCH=powerpc:common64
+MACHINE=
+NOP=0x60000000
+OTHER_TEXT_SECTIONS="*(.sfpr .glink)"
+BSS_PLT=
+OTHER_BSS_SYMBOLS="
+ .tocbss ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.tocbss)}"
+OTHER_PLT_RELOC_SECTIONS="
+ .rela.tocbss ${RELOCATING-0} : { *(.rela.tocbss) }"
+
+if test x${RELOCATING+set} = xset; then
+ GOT="
+ .got : ALIGN(8) { *(.got .toc) }"
+else
+ GOT="
+ .got 0 : { *(.got) }
+ .toc 0 : { *(.toc) }"
+fi
+OTHER_GOT_RELOC_SECTIONS="
+ .rela.toc ${RELOCATING-0} : { *(.rela.toc) }"
+OTHER_READWRITE_SECTIONS="
+ .toc1 ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc1) }
+ .opd ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { KEEP (*(.opd)) }
+ .branch_lt ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.branch_lt) }"
+
+# Treat a host that matches the target with the possible exception of "64"
+# in the name as if it were native.
+if test `echo "$host" | sed -e s/64//` = `echo "$target" | sed -e s/64//`; then
+ case " $EMULATION_LIBPATH " in
+ *" ${EMULATION_NAME} "*)
+ NATIVE=yes
+ ;;
+ esac
+fi
+
+# Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first.
+case "$EMULATION_NAME" in
+ *64*) LIBPATH_SUFFIX=64 ;;
+esac
Index: or32.sh
===================================================================
--- or32.sh (nonexistent)
+++ or32.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=or32
+OUTPUT_FORMAT="coff-or32-big"
+TEXT_START_ADDR=0x1000000
+TARGET_PAGE_SIZE=0x1000000
+ARCH=or32
Index: h8300s.sh
===================================================================
--- h8300s.sh (nonexistent)
+++ h8300s.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8300s
+OUTPUT_FORMAT="coff-h8300"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8300
Index: elf32ppcsim.sh
===================================================================
--- elf32ppcsim.sh (nonexistent)
+++ elf32ppcsim.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/elf32ppc.sh
+TEXT_START_ADDR=0x10000000
Index: m32relf_linux.sh
===================================================================
--- m32relf_linux.sh (nonexistent)
+++ m32relf_linux.sh (revision 816)
@@ -0,0 +1,14 @@
+MACHINE=
+SCRIPT_NAME=elf
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf32-m32r-linux"
+TEXT_START_ADDR=0x1000
+ARCH=m32r
+MACHINE=
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+
+# Hmmm, there's got to be a better way. This sets the stack to the
+# top of simulator memory (32MB).
+OTHER_RELOCATING_SECTIONS='PROVIDE (_stack = 0x2000000);'
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
Index: elf32vax.sh
===================================================================
--- elf32vax.sh (nonexistent)
+++ elf32vax.sh (revision 816)
@@ -0,0 +1,13 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-vax"
+TEXT_START_ADDR=0x10000
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0x1000 ;;
+esac
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=vax
+MACHINE=
+NOP=0x0101
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+NO_SMALL_DATA=yes
Index: m68k4knbsd.sh
===================================================================
--- m68k4knbsd.sh (nonexistent)
+++ m68k4knbsd.sh (revision 816)
@@ -0,0 +1,9 @@
+SCRIPT_NAME=aout
+TEXT_START_ADDR=0x1020
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0x1000 ;;
+esac
+OUTPUT_FORMAT="a.out-m68k4k-netbsd"
+TARGET_PAGE_SIZE=0x1000
+ARCH=m68k
+EXECUTABLE_SYMBOLS='__DYNAMIC = 0;'
Index: elf32ebmipvxworks.sh
===================================================================
--- elf32ebmipvxworks.sh (nonexistent)
+++ elf32ebmipvxworks.sh (revision 816)
@@ -0,0 +1,20 @@
+. ${srcdir}/emulparams/elf32bmip.sh
+
+OUTPUT_FORMAT="elf32-bigmips-vxworks"
+BIG_OUTPUT_FORMAT="elf32-bigmips-vxworks"
+LITTLE_OUTPUT_FORMAT="elf32-littlemips-vxworks"
+# VxWorks .rdata sections are normally read-only, but one of the objects
+# in libdl.a (the dynamic loader) is actually read-write. Explicitly
+# place the section in the appropriate segment for its flags.
+OTHER_READONLY_SECTIONS="
+ .rdata ${RELOCATING-0} : ONLY_IF_RO { *(.rdata) }
+"
+OTHER_READWRITE_SECTIONS="
+ .rdata ${RELOCATING-0} : ONLY_IF_RW { *(.rdata) }
+"
+unset OTHER_GOT_SYMBOLS
+SHLIB_TEXT_START_ADDR=0
+unset TEXT_DYNAMIC
+unset DATA_ADDR
+
+. ${srcdir}/emulparams/vxworks.sh
Index: shelf.sh
===================================================================
--- shelf.sh (nonexistent)
+++ shelf.sh (revision 816)
@@ -0,0 +1,33 @@
+# If you change this file, please also look at files which source this one:
+# shlelf.sh, shelf_nbsd.sh
+
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-sh"
+TEXT_START_ADDR=0x1000
+MAXPAGESIZE=128
+ARCH=sh
+MACHINE=
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+EMBEDDED=yes
+
+# These are for compatibility with the COFF toolchain.
+ENTRY=start
+CTOR_START='___ctors = .;'
+CTOR_END='___ctors_end = .;'
+DTOR_START='___dtors = .;'
+DTOR_END='___dtors_end = .;'
+# This is like setting STACK_ADDR to 0x300000, except that the setting can
+# be overridden, e.g. --defsym _stack=0x0f00, and that we put an extra
+# sentinal value at the bottom.
+# N.B. We can't use PROVIDE to set the default value in a symbol because
+# the address is needed to place the .stack section, which in turn is needed
+# to hold the sentinel value(s).
+test -z "$CREATE_SHLIB" && OTHER_SECTIONS=" .stack ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : 0x300000)} :
+ {
+ ${RELOCATING+_stack = .;}
+ *(.stack)
+ LONG(0xdeaddead)
+ }"
+# We do not need .stack for shared library.
+test -n "$CREATE_SHLIB" && OTHER_SECTIONS=""
Index: riscix.sh
===================================================================
--- riscix.sh (nonexistent)
+++ riscix.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=riscix
+OUTPUT_FORMAT="a.out-riscix"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=0x8000
+ARCH=arm
Index: h8300.sh
===================================================================
--- h8300.sh (nonexistent)
+++ h8300.sh (revision 816)
@@ -0,0 +1,18 @@
+SCRIPT_NAME=h8300
+OUTPUT_FORMAT="coff-h8300"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8300
+TINY_READONLY_SECTION=".tinyrodata :
+ {
+ *(.tinyrodata)
+ } =0"
+TINY_DATA_SECTION=".tinydata 0xff8000 :
+ {
+ *(.tinydata)
+ ${RELOCATING+ _tinydata = .; }
+ }"
+TINY_BSS_SECTION=".tinybss : AT (_tinydata)
+ {
+ *(.tinybss)
+ }"
Index: h8300sxelf.sh
===================================================================
--- h8300sxelf.sh (nonexistent)
+++ h8300sxelf.sh (revision 816)
@@ -0,0 +1,16 @@
+. ${srcdir}/emulparams/h8300elf.sh
+ARCH="h8300:h8300sx"
+STACK_ADDR=0x2fefc
+TINY_READONLY_SECTION=".tinyrodata :
+ {
+ *(.tinyrodata)
+ } =0"
+TINY_DATA_SECTION=".tinydata 0xff8000 :
+ {
+ *(.tinydata)
+ ${RELOCATING+ _tinydata = .; }
+ }"
+TINY_BSS_SECTION=".tinybss : AT (_tinydata)
+ {
+ *(.tinybss)
+ }"
Index: elf32xc16x.sh
===================================================================
--- elf32xc16x.sh (nonexistent)
+++ elf32xc16x.sh (revision 816)
@@ -0,0 +1,8 @@
+SCRIPT_NAME=elf32xc16x
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf32-xc16x"
+TEXT_START_ADDR=0x00400
+ARCH=xc16x
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ENTRY=_start
+EMBEDDED=yes
Index: elf32bmipn32.sh
===================================================================
--- elf32bmipn32.sh (nonexistent)
+++ elf32bmipn32.sh (revision 816)
@@ -0,0 +1,22 @@
+. ${srcdir}/emulparams/elf32bmipn32-defs.sh
+OUTPUT_FORMAT="elf32-nbigmips"
+BIG_OUTPUT_FORMAT="elf32-nbigmips"
+LITTLE_OUTPUT_FORMAT="elf32-nlittlemips"
+SHLIB_TEXT_START_ADDR=0x5ffe0000
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+
+# IRIX6 defines these symbols. 0x34 is the size of the ELF header.
+EXECUTABLE_SYMBOLS="
+ __dso_displacement = 0;
+ __elf_header = ${TEXT_START_ADDR};
+ __program_header_table = ${TEXT_START_ADDR} + 0x34;
+"
+
+# There are often dynamic relocations against the .rodata section.
+# Setting DT_TEXTREL in the .dynamic section does not convince the
+# IRIX6 linker to permit relocations against the text segment.
+# Following the IRIX linker, we simply put .rodata in the data
+# segment.
+WRITABLE_RODATA=
+
+EXTRA_EM_FILE=irix
elf32bmipn32.sh
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: elf32iq10.sh
===================================================================
--- elf32iq10.sh (nonexistent)
+++ elf32iq10.sh (revision 816)
@@ -0,0 +1,13 @@
+MACHINE=
+SCRIPT_NAME=iq2000
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-iq2000"
+DATA_ADDR=0x1000
+TEXT_START_ADDR=0x80000000
+ARCH=iq2000
+ENTRY=_start
+EMBEDDED=yes
+ELFSIZE=32
+MAXPAGESIZE=256
+OTHER_RELOCATING_SECTIONS='PROVIDE (__stack = 0x1800);'
elf32iq10.sh
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: ns32knbsd.sh
===================================================================
--- ns32knbsd.sh (nonexistent)
+++ ns32knbsd.sh (revision 816)
@@ -0,0 +1,10 @@
+SCRIPT_NAME=aout
+TEXT_START_ADDR=0x1020
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0x1000 ;;
+esac
+OUTPUT_FORMAT="a.out-ns32k-netbsd"
+TARGET_PAGE_SIZE=0x1000
+ARCH=ns32k
+EXECUTABLE_SYMBOLS='__DYNAMIC = 0;'
+EXTRA_EM_FILE=netbsd
Index: delta68.sh
===================================================================
--- delta68.sh (nonexistent)
+++ delta68.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=delta68
+OUTPUT_FORMAT="coff-m68k-sysv"
+TEXT_START_ADDR=0x2000
+PAGE_SIZE=0x1000000
+ARCH=m68k
Index: avr3.sh
===================================================================
--- avr3.sh (nonexistent)
+++ avr3.sh (revision 816)
@@ -0,0 +1,11 @@
+ARCH=avr:3
+MACHINE=
+SCRIPT_NAME=avr
+OUTPUT_FORMAT="elf32-avr"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=elf32
+
+TEXT_LENGTH=128K
+DATA_LENGTH=0xffa0
+EXTRA_EM_FILE=avrelf
Index: elf32i370.sh
===================================================================
--- elf32i370.sh (nonexistent)
+++ elf32i370.sh (revision 816)
@@ -0,0 +1,8 @@
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+SCRIPT_NAME=elfi370
+OUTPUT_FORMAT="elf32-i370"
+TEXT_START_ADDR=0x01800000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=i370
+MACHINE=
Index: elf32openrisc.sh
===================================================================
--- elf32openrisc.sh (nonexistent)
+++ elf32openrisc.sh (revision 816)
@@ -0,0 +1,10 @@
+MACHINE=
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-openrisc"
+TEXT_START_ADDR=0x10000
+ARCH=openrisc
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ENTRY=_start
+EMBEDDED=yes
+NOP=0x15000000
+
elf32openrisc.sh
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: w65.sh
===================================================================
--- w65.sh (nonexistent)
+++ w65.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=w65
+OUTPUT_FORMAT="coff-w65"
+TEXT_START_ADDR=0x1000
+TARGET_PAGE_SIZE=64
+ARCH=w65
Index: elf32ppcvxworks.sh
===================================================================
--- elf32ppcvxworks.sh (nonexistent)
+++ elf32ppcvxworks.sh (revision 816)
@@ -0,0 +1,3 @@
+. ${srcdir}/emulparams/elf32ppccommon.sh
+OUTPUT_FORMAT="elf32-powerpc-vxworks"
+. ${srcdir}/emulparams/vxworks.sh
Index: elf_s390.sh
===================================================================
--- elf_s390.sh (nonexistent)
+++ elf_s390.sh (revision 816)
@@ -0,0 +1,12 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-s390"
+TEXT_START_ADDR=0x00400000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+ARCH="s390:31-bit"
+MACHINE=
+NOP=0x07070707
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+NO_SMALL_DATA=yes
Index: mipsidtl.sh
===================================================================
--- mipsidtl.sh (nonexistent)
+++ mipsidtl.sh (revision 816)
@@ -0,0 +1,12 @@
+SCRIPT_NAME=mips
+OUTPUT_FORMAT="ecoff-littlemips"
+BIG_OUTPUT_FORMAT="ecoff-bigmips"
+LITTLE_OUTPUT_FORMAT="ecoff-littlemips"
+TARGET_PAGE_SIZE=0x1000000
+ARCH=mips
+ENTRY=start
+TEXT_START_ADDR=0xa0012000
+DATA_ADDR=.
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=mipsecoff
+EMBEDDED=yes
Index: elf64alpha.sh
===================================================================
--- elf64alpha.sh (nonexistent)
+++ elf64alpha.sh (revision 816)
@@ -0,0 +1,26 @@
+ENTRY=_start
+SCRIPT_NAME=elf
+ELFSIZE=64
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=alphaelf
+OUTPUT_FORMAT="elf64-alpha"
+TEXT_START_ADDR="0x120000000"
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+ARCH=alpha
+MACHINE=
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+
+# Yes, we want duplicate .plt sections. The linker chooses the
+# appropriate one magically in alpha_after_open.
+PLT=".plt ${RELOCATING-0} : SPECIAL { *(.plt) }"
+DATA_PLT=yes
+TEXT_PLT=yes
+
+# Note that the number is always big-endian, thus we have to
+# reverse the digit string.
+NOP=0x0000fe2f1f04ff47 # unop; nop
+
+OTHER_READONLY_SECTIONS="
+ .reginfo ${RELOCATING-0} : { *(.reginfo) }"
Index: armnbsd.sh
===================================================================
--- armnbsd.sh (nonexistent)
+++ armnbsd.sh (revision 816)
@@ -0,0 +1,9 @@
+SCRIPT_NAME=aout
+TEXT_START_ADDR=0x1020
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0x1000 ;;
+esac
+OUTPUT_FORMAT="a.out-arm-netbsd"
+TARGET_PAGE_SIZE=0x1000
+ARCH=arm
+EXECUTABLE_SYMBOLS='__DYNAMIC = 0;'
Index: armelfb_linux.sh
===================================================================
--- armelfb_linux.sh (nonexistent)
+++ armelfb_linux.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/armelf_linux.sh
+OUTPUT_FORMAT="elf32-bigarm"
Index: elf32xstormy16.sh
===================================================================
--- elf32xstormy16.sh (nonexistent)
+++ elf32xstormy16.sh (revision 816)
@@ -0,0 +1,13 @@
+MACHINE=
+SCRIPT_NAME=xstormy16
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=needrelax
+OUTPUT_FORMAT="elf32-xstormy16"
+# See also `include/elf/xstormy16.h'
+ARCH=xstormy16
+ALIGNMENT=2
+ENTRY=_start
+EMBEDDED=yes
+NOP=0
+
+
Index: m68kpsos.sh
===================================================================
--- m68kpsos.sh (nonexistent)
+++ m68kpsos.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=psos
+OUTPUT_FORMAT="elf32-m68k"
+TEXT_START_ADDR=0x20000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=m68k
+TEMPLATE_NAME=elf32
Index: mcorepe.sh
===================================================================
--- mcorepe.sh (nonexistent)
+++ mcorepe.sh (revision 816)
@@ -0,0 +1,10 @@
+ARCH=mcore
+SCRIPT_NAME=mcorepe
+OUTPUT_FORMAT="pei-mcore-little"
+LITTLE_OUTPUT_FORMAT="pei-mcore-little"
+BIG_OUTPUT_FORMAT="pei-mcore-big"
+TEMPLATE_NAME=pe
+ENTRY="_mainCRTStartup"
+SUBSYSTEM=PE_DEF_SUBSYSTEM
+INITIAL_SYMBOL_CHAR=\"_\"
+TARGET_PAGE_SIZE=0x1000
Index: shlelf64_nbsd.sh
===================================================================
--- shlelf64_nbsd.sh (nonexistent)
+++ shlelf64_nbsd.sh (revision 816)
@@ -0,0 +1,3 @@
+. ${srcdir}/emulparams/shelf64_nbsd.sh
+
+OUTPUT_FORMAT="elf64-sh64l-nbsd"
Index: elf_i386_ldso.sh
===================================================================
--- elf_i386_ldso.sh (nonexistent)
+++ elf_i386_ldso.sh (revision 816)
@@ -0,0 +1,11 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-i386"
+TEXT_START_ADDR=0x08048000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=i386
+MACHINE=
+NOP=0x90909090
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+ELF_INTERPRETER_NAME=\"/usr/lib/ld.so.1\"
+NO_SMALL_DATA=yes
Index: elf32am33lin.sh
===================================================================
--- elf32am33lin.sh (nonexistent)
+++ elf32am33lin.sh (revision 816)
@@ -0,0 +1,10 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-am33lin"
+TEXT_START_ADDR=0x8000000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=mn10300
+MACHINE=
+NOP=0xcbcb
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+
Index: armelf_linux_eabi.sh
===================================================================
--- armelf_linux_eabi.sh (nonexistent)
+++ armelf_linux_eabi.sh (revision 816)
@@ -0,0 +1,9 @@
+. ${srcdir}/emulparams/armelf_linux.sh
+
+# Use the ARM ABI-compliant exception-handling sections.
+OTHER_READONLY_SECTIONS="
+ .ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) }
+ ${RELOCATING+ __exidx_start = .; }
+ .ARM.exidx ${RELOCATING-0} : { *(.ARM.exidx${RELOCATING+* .gnu.linkonce.armexidx.*}) }
+ ${RELOCATING+ __exidx_end = .; }"
+
Index: aixrs6.sh
===================================================================
--- aixrs6.sh (nonexistent)
+++ aixrs6.sh (revision 816)
@@ -0,0 +1,7 @@
+TEMPLATE_NAME=aix
+SCRIPT_NAME=aix
+OUTPUT_FORMAT="aixcoff-rs6000"
+OUTPUT_FORMAT_32BIT="aixcoff-rs6000"
+OUTPUT_FORMAT_64BIT="aixcoff64-rs6000"
+ARCH=rs6000
+
Index: elf_i386_fbsd.sh
===================================================================
--- elf_i386_fbsd.sh (nonexistent)
+++ elf_i386_fbsd.sh (revision 816)
@@ -0,0 +1,3 @@
+. ${srcdir}/emulparams/elf_i386.sh
+. ${srcdir}/emulparams/elf_fbsd.sh
+OUTPUT_FORMAT="elf32-i386-freebsd"
Index: armcoff.sh
===================================================================
--- armcoff.sh (nonexistent)
+++ armcoff.sh (revision 816)
@@ -0,0 +1,6 @@
+ARCH=arm
+SCRIPT_NAME=armcoff
+OUTPUT_FORMAT="coff-arm-little"
+LITTLE_OUTPUT_FORMAT="coff-arm-little"
+BIG_OUTPUT_FORMAT="coff-arm-big"
+TEMPLATE_NAME=armcoff
Index: h8300sx.sh
===================================================================
--- h8300sx.sh (nonexistent)
+++ h8300sx.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8300sx
+OUTPUT_FORMAT="coff-h8300"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8300
Index: m88kbcs.sh
===================================================================
--- m88kbcs.sh (nonexistent)
+++ m88kbcs.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=m88kbcs
+OUTPUT_FORMAT="coff-m88kbcs"
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=128
+ARCH=m88k
Index: elf32b4300.sh
===================================================================
--- elf32b4300.sh (nonexistent)
+++ elf32b4300.sh (revision 816)
@@ -0,0 +1,9 @@
+# If you change this file, please also look at files which source this one:
+# elf32l4300.sh
+
+EMBEDDED=yes
+. ${srcdir}/emulparams/elf32bmip.sh
+TEXT_START_ADDR=0xa0020000
+unset SHLIB_TEXT_START_ADDR
+EXECUTABLE_SYMBOLS='_DYNAMIC_LINK = 0;'
+DYNAMIC_LINK=FALSE
Index: alpha.sh
===================================================================
--- alpha.sh (nonexistent)
+++ alpha.sh (revision 816)
@@ -0,0 +1,3 @@
+SCRIPT_NAME=alpha
+OUTPUT_FORMAT="ecoff-littlealpha"
+ARCH=alpha
Index: tic80coff.sh
===================================================================
--- tic80coff.sh (nonexistent)
+++ tic80coff.sh (revision 816)
@@ -0,0 +1,50 @@
+# This file is sourced by the genscripts.sh script.
+# These are shell variables that are used later by either genscripts
+# or on of the scripts that it sources.
+
+# The name of the scripttempl script to use. In this case, genscripts
+# uses scripttempl/tic80coff.sc
+#
+SCRIPT_NAME=tic80coff
+
+# The name of the emultempl script to use. If set to "template" then
+# genscripts.sh will use the script emultempl/template.em. If not set,
+# then the default value is "generic".
+#
+# TEMPLATE_NAME=
+
+# If this is set to an nonempty string, genscripts.sh will invoke the
+# scripttempl script an extra time to create a shared library script.
+#
+# GENERATE_SHLIB_SCRIPT=
+
+# The BFD output format to use. The scripttempl script will use it in
+# an OUTPUT_FORMAT expression in the linker script.
+#
+OUTPUT_FORMAT="coff-tic80"
+
+# This is normally set to indicate the architecture to use, such as
+# "sparc". The scripttempl script will normally use it in an OUTPUT_ARCH
+# expression in the linker script.
+#
+ARCH=tic80
+
+# Some scripttempl scripts use this to set the entry address in an ENTRY
+# expression in the linker script.
+#
+# ENTRY=
+
+# The scripttempl script uses this to set the start address of the
+# ".text" section.
+#
+TEXT_START_ADDR=0x2000000
+
+# The genscripts.sh script uses this to set the default value of
+# DATA_ALIGNMENT when running the scripttempl script.
+#
+# SEGMENT_SIZE=
+
+# If SEGMENT_SIZE is not defined, the genscripts.sh script uses this
+# to define it.
+#
+TARGET_PAGE_SIZE=0x1000
Index: m68knbsd.sh
===================================================================
--- m68knbsd.sh (nonexistent)
+++ m68knbsd.sh (revision 816)
@@ -0,0 +1,9 @@
+SCRIPT_NAME=aout
+TEXT_START_ADDR=0x2020
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0x2000 ;;
+esac
+OUTPUT_FORMAT="a.out-m68k-netbsd"
+TARGET_PAGE_SIZE=0x2000
+ARCH=m68k
+EXECUTABLE_SYMBOLS='__DYNAMIC = 0;'
Index: elf32lmip.sh
===================================================================
--- elf32lmip.sh (nonexistent)
+++ elf32lmip.sh (revision 816)
@@ -0,0 +1,7 @@
+# If you change this file, please also look at files which source this one:
+# elf32elmip.sh elf32lsmip.sh
+
+. ${srcdir}/emulparams/elf32bmip.sh
+OUTPUT_FORMAT="elf32-littlemips"
+BIG_OUTPUT_FORMAT="elf32-bigmips"
+LITTLE_OUTPUT_FORMAT="elf32-littlemips"
Index: ppclynx.sh
===================================================================
--- ppclynx.sh (nonexistent)
+++ ppclynx.sh (revision 816)
@@ -0,0 +1,22 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-powerpc"
+TEXT_BASE=0x00002000
+DYN_TEXT_BASE=0x00400000
+TEXT_START_ADDR="(DEFINED(_DYNAMIC) ? ${DYN_TEXT_BASE} : ${TEXT_BASE})"
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0x1000 ;;
+esac
+ARCH=powerpc
+MACHINE=
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+ELF_INTERPRETER_NAME=\"/usr/lib/ld.so.1\"
+
+# Leave room of SIZEOF_HEADERS before text.
+EMBEDDED=
+# PLT on PowerPC is generated at run-time.
+BSS_PLT=
+OTHER_READWRITE_SECTIONS="
+ .got1 ${RELOCATING-0} : { *(.got1) }
+ .got2 ${RELOCATING-0} : { *(.got2) }"
Index: elf32ip2k.sh
===================================================================
--- elf32ip2k.sh (nonexistent)
+++ elf32ip2k.sh (revision 816)
@@ -0,0 +1,20 @@
+TEMPLATE_NAME=elf32
+MACHINE=
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-ip2k"
+# See also `include/elf/ip2k.h'
+DATA_ADDR=0x01000100
+TEXT_START_ADDR=0x02010000
+GPR_START_ADDR=0x1000080
+GPR_SIZE=0x7F
+GRP_MEMORY=gpr
+ARCH=ip2k
+ENTRY=__start
+EMBEDDED=yes
+ELFSIZE=32
+MAXPAGESIZE=256
+WRITABLE_RODATA=
+OTHER_RELOCATING_SECTIONS='PROVIDE (__stack = 0x01000FFF);'
+OTHER_READONLY_SECTIONS='.pram 0x2000000 : { *(.pram) } .reset 0x201FFE0 : { *(.reset) }'
+OTHER_READWRITE_SECTIONS='.gpr 0x1000080 : { *(.gpr) }'
+
Index: shlelf32_linux.sh
===================================================================
--- shlelf32_linux.sh (nonexistent)
+++ shlelf32_linux.sh (revision 816)
@@ -0,0 +1,43 @@
+# If you change this file, please also look at files which source this one:
+# shelf32_linux.sh
+
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-sh64-linux"
+TEXT_START_ADDR=0x400000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+ARCH=sh
+MACHINE=sh5
+ALIGNMENT=8
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+
+
+DATA_START_SYMBOLS='PROVIDE (___data = .);'
+
+# If data is located right after .text (not explicitly specified),
+# then we need to align it to an 8-byte boundary.
+OTHER_READONLY_SECTIONS='
+PROVIDE (___rodata = DEFINED (.rodata) ? .rodata : 0);
+. = ALIGN (8);
+'
+
+# Make _edata and .bss aligned by smuggling in an alignment directive.
+OTHER_GOT_SECTIONS='. = ALIGN (8);'
+
+CTOR_START='___ctors = .;'
+CTOR_END='___ctors_end = .;'
+DTOR_START='___dtors = .;'
+DTOR_END='___dtors_end = .;'
+
+# Do not use the varname=${varname-'string'} construct here; there are
+# problems with that on some shells (e.g. on Solaris) where there is a bug
+# that trigs when $varname contains a "}".
+test -z "$OTHER_RELOCATING_SECTIONS" && OTHER_RELOCATING_SECTIONS='
+ .cranges 0 : { *(.cranges) }
+'
+
+# We need to adjust sizes in the .cranges section after relaxation, so
+# we need an after_allocation function, and it goes in this file.
+EXTRA_EM_FILE=${EXTRA_EM_FILE-sh64elf}
Index: scoreelf.sh
===================================================================
--- scoreelf.sh (nonexistent)
+++ scoreelf.sh (revision 816)
@@ -0,0 +1,33 @@
+MACHINE=
+SCRIPT_NAME=elf
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf32-bigscore"
+BIG_OUTPUT_FORMAT="elf32-bigscore"
+LITTLE_OUTPUT_FORMAT="elf32-littlescore"
+GROUP="-lm -lc -lglsim -lgcc -lstdc++"
+
+TEXT_START_ADDR=0x00000000
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0x0400000 ;;
+esac
+MAXPAGESIZE=256
+SHLIB_TEXT_START_ADDR=0x5ffe0000
+OTHER_GOT_SYMBOLS='
+ _gp = ALIGN(16) + 0x3ff0;
+'
+
+OTHER_BSS_START_SYMBOLS='_bss_start__ = . + ALIGN(4);'
+OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;'
+DATA_START_SYMBOLS='_fdata = . ;'
+SDATA_START_SYMBOLS='_sdata_begin = . ;'
+OTHER_BSS_SYMBOLS='
+ _bss_start = ALIGN(4) ;
+'
+# This sets the stack to the top of the simulator memory (2^19 bytes).
+STACK_ADDR=0x8000000
+
+ARCH=score
+MACHINE=
+ENTRY=_start
+EMBEDDED=yes
+GENERATE_SHLIB_SCRIPT=yes
Index: shelf_vxworks.sh
===================================================================
--- shelf_vxworks.sh (nonexistent)
+++ shelf_vxworks.sh (revision 816)
@@ -0,0 +1,19 @@
+# If you change this file, please also look at files which source this one:
+# shlelf_vxworks.sh
+
+SCRIPT_NAME=elf
+BIG_OUTPUT_FORMAT="elf32-sh-vxworks"
+LITTLE_OUTPUT_FORMAT="elf32-shl-vxworks"
+OUTPUT_FORMAT="$BIG_OUTPUT_FORMAT"
+TEXT_START_ADDR=0x1000
+MAXPAGESIZE='CONSTANT (MAXPAGESIZE)'
+ARCH=sh
+MACHINE=
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+ENTRY=__start
+SYMPREFIX=_
+GOT=".got ${RELOCATING-0} : {
+ PROVIDE(__GLOBAL_OFFSET_TABLE_ = .);
+ *(.got.plt) *(.got) }"
+. ${srcdir}/emulparams/vxworks.sh
Index: m68klinux.sh
===================================================================
--- m68klinux.sh (nonexistent)
+++ m68klinux.sh (revision 816)
@@ -0,0 +1,9 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-m68k-linux"
+TARGET_PAGE_SIZE=0x1000
+TEXT_START_ADDR=0x1020
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0 ;;
+esac
+ARCH=m68k
+TEMPLATE_NAME=linux
Index: elf64_sparc_fbsd.sh
===================================================================
--- elf64_sparc_fbsd.sh (nonexistent)
+++ elf64_sparc_fbsd.sh (revision 816)
@@ -0,0 +1,4 @@
+. ${srcdir}/emulparams/elf64_sparc.sh
+. ${srcdir}/emulparams/elf_fbsd.sh
+
+OUTPUT_FORMAT="elf64-sparc-freebsd"
Index: elf32elmipvxworks.sh
===================================================================
--- elf32elmipvxworks.sh (nonexistent)
+++ elf32elmipvxworks.sh (revision 816)
@@ -0,0 +1,11 @@
+. ${srcdir}/emulparams/elf32bmip.sh
+
+OUTPUT_FORMAT="elf32-littlemips-vxworks"
+BIG_OUTPUT_FORMAT="elf32-bigmips-vxworks"
+LITTLE_OUTPUT_FORMAT="elf32-littlemips-vxworks"
+unset OTHER_GOT_SYMBOLS
+SHLIB_TEXT_START_ADDR=0
+unset TEXT_DYNAMIC
+unset DATA_ADDR
+
+. ${srcdir}/emulparams/vxworks.sh
Index: armelf.sh
===================================================================
--- armelf.sh (nonexistent)
+++ armelf.sh (revision 816)
@@ -0,0 +1,35 @@
+MACHINE=
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-littlearm"
+BIG_OUTPUT_FORMAT="elf32-bigarm"
+LITTLE_OUTPUT_FORMAT="elf32-littlearm"
+TEXT_START_ADDR=0x8000
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=armelf
+OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)'
+OTHER_BSS_SYMBOLS='__bss_start__ = .;'
+OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
+OTHER_END_SYMBOLS='__end__ = . ;'
+OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
+ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
+OTHER_READONLY_SECTIONS="
+ .ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) }
+ ${RELOCATING+ __exidx_start = .; }
+ .ARM.exidx ${RELOCATING-0} : { *(.ARM.exidx${RELOCATING+* .gnu.linkonce.armexidx.*}) }
+ ${RELOCATING+ __exidx_end = .; }"
+
+DATA_START_SYMBOLS='__data_start = . ;';
+
+GENERATE_SHLIB_SCRIPT=yes
+
+ARCH=arm
+MACHINE=
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ENTRY=_start
+EMBEDDED=yes
+
+# This sets the stack to the top of the simulator memory (2^19 bytes).
+STACK_ADDR=0x80000
+
+# ARM does not support .s* sections.
+NO_SMALL_DATA=yes
Index: armelfb.sh
===================================================================
--- armelfb.sh (nonexistent)
+++ armelfb.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/armelf.sh
+OUTPUT_FORMAT="elf32-bigarm"
Index: shelf_uclinux.sh
===================================================================
--- shelf_uclinux.sh (nonexistent)
+++ shelf_uclinux.sh (revision 816)
@@ -0,0 +1,4 @@
+. ${srcdir}/emulparams/shelf.sh
+
+# We do not want a .stack section
+OTHER_SECTIONS=""
Index: elf_i386.sh
===================================================================
--- elf_i386.sh (nonexistent)
+++ elf_i386.sh (revision 816)
@@ -0,0 +1,13 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-i386"
+TEXT_START_ADDR=0x08048000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+ARCH=i386
+MACHINE=
+NOP=0x90909090
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+NO_SMALL_DATA=yes
+SEPARATE_GOTPLT=12
Index: elf32ppcwindiss.sh
===================================================================
--- elf32ppcwindiss.sh (nonexistent)
+++ elf32ppcwindiss.sh (revision 816)
@@ -0,0 +1,23 @@
+TEMPLATE_NAME=elf32
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-powerpc"
+ARCH=powerpc
+MACHINE=
+EMBEDDED=yes
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+
+# The data below is taken from the windiss.dld linker script that comes with
+# the Diab linker.
+TEXT_START_ADDR=0x100000
+DATA_START_SYMBOLS='__DATA_ROM = .; __DATA_RAM = .;'
+EXECUTABLE_SYMBOLS='__HEAP_START = .; __SP_INIT = 0x800000; __SP_END = __SP_INIT - 0x20000; __HEAP_END = __SP_END; __DATA_END = _edata; __BSS_START = __bss_start; __BSS_END = _end; __HEAP_START = _end;'
+
+# The Diab tools use a different init/fini convention. Initialization code
+# is place in sections named ".init$NN". These sections are then concatenated
+# into the .init section. It is important that .init$00 be first and .init$99
+# be last. The other sections should be sorted, but the current linker script
+# parse does not seem to allow that with the SORT keyword in this context.
+INIT_START='*(.init$00); *(.init$0[1-9]); *(.init$[1-8][0-9]); *(.init$9[0-8])'
+INIT_END='*(.init$99)'
+FINI_START='*(.fini$00); *(.fini$0[1-9]); *(.fini$[1-8][0-9]); *(.fini$9[0-8])'
+FINI_END='*(.fini$99)'
Index: sparcnbsd.sh
===================================================================
--- sparcnbsd.sh (nonexistent)
+++ sparcnbsd.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=aout
+TEXT_START_ADDR=0x1020
+OUTPUT_FORMAT="a.out-sparc-netbsd"
+TARGET_PAGE_SIZE=0x1000
+ARCH=sparc
Index: mipslit.sh
===================================================================
--- mipslit.sh (nonexistent)
+++ mipslit.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=mips
+OUTPUT_FORMAT="ecoff-littlemips"
+BIG_OUTPUT_FORMAT="ecoff-bigmips"
+LITTLE_OUTPUT_FORMAT="ecoff-littlemips"
+TARGET_PAGE_SIZE=0x1000000
+ARCH=mips
Index: shelf_nto.sh
===================================================================
--- shelf_nto.sh (nonexistent)
+++ shelf_nto.sh (revision 816)
@@ -0,0 +1,10 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-sh"
+TEXT_START_ADDR=0x08040000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=sh
+MACHINE=
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+TEXT_START_SYMBOLS='_btext = .;'
+ENTRY=_start
Index: z8001.sh
===================================================================
--- z8001.sh (nonexistent)
+++ z8001.sh (revision 816)
@@ -0,0 +1,7 @@
+SCRIPT_NAME=z8000
+OUTPUT_FORMAT="coff-z8k"
+OUTPUT_ARCH="z8001"
+TEXT_START_ADDR=0x0
+TARGET_PAGE_SIZE=128
+ARCH=z8k
+BIG=1
Index: elf32_i960.sh
===================================================================
--- elf32_i960.sh (nonexistent)
+++ elf32_i960.sh (revision 816)
@@ -0,0 +1,8 @@
+SCRIPT_NAME=elf
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf32-i960"
+ARCH=i960
+MACHINE=
+TEXT_START_ADDR=0
+EMBEDDED=yes
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
Index: m68kcoff.sh
===================================================================
--- m68kcoff.sh (nonexistent)
+++ m68kcoff.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=m68kcoff
+OUTPUT_FORMAT="coff-m68k"
+TEXT_START_ADDR=0x1000000
+TARGET_PAGE_SIZE=0x1000000
+ARCH=m68k
+TEMPLATE_NAME=m68kcoff
Index: elf64alpha_fbsd.sh
===================================================================
--- elf64alpha_fbsd.sh (nonexistent)
+++ elf64alpha_fbsd.sh (revision 816)
@@ -0,0 +1,3 @@
+. ${srcdir}/emulparams/elf64alpha.sh
+. ${srcdir}/emulparams/elf_fbsd.sh
+OUTPUT_FORMAT="elf64-alpha-freebsd"
Index: elf32ppccommon.sh
===================================================================
--- elf32ppccommon.sh (nonexistent)
+++ elf32ppccommon.sh (revision 816)
@@ -0,0 +1,49 @@
+# The PLT-agnostic parts of a generic 32-bit ELF PowerPC target. Included by:
+# elf32ppc.sh elf32ppcvxworks.sh
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-powerpc"
+TEXT_START_ADDR=0x01800000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+ARCH=powerpc:common
+MACHINE=
+EXECUTABLE_SYMBOLS='PROVIDE (__stack = 0); PROVIDE (___stack = 0);'
+if test -z "${CREATE_SHLIB}"; then
+ SDATA_START_SYMBOLS="PROVIDE (_SDA_BASE_ = 32768);"
+ SDATA2_START_SYMBOLS="PROVIDE (_SDA2_BASE_ = 32768);"
+ SBSS_START_SYMBOLS="PROVIDE (__sbss_start = .); PROVIDE (___sbss_start = .);"
+ SBSS_END_SYMBOLS="PROVIDE (__sbss_end = .); PROVIDE (___sbss_end = .);"
+else
+ unset SDATA_START_SYMBOLS
+ unset SDATA2_START_SYMBOLS
+ unset SBSS_START_SYMBOLS
+ unset SBSS_END_SYMBOLS
+fi
+OTHER_END_SYMBOLS="__end = .;"
+OTHER_RELRO_SECTIONS="
+ .fixup ${RELOCATING-0} : { *(.fixup) }
+ .got1 ${RELOCATING-0} : { *(.got1) }
+ .got2 ${RELOCATING-0} : { *(.got2) }
+"
+OTHER_GOT_RELOC_SECTIONS="
+ .rela.got1 ${RELOCATING-0} : { *(.rela.got1) }
+ .rela.got2 ${RELOCATING-0} : { *(.rela.got2) }
+"
+
+# Treat a host that matches the target with the possible exception of "64"
+# in the name as if it were native.
+if test `echo "$host" | sed -e s/64//` = `echo "$target" | sed -e s/64//`; then
+ case " $EMULATION_LIBPATH " in
+ *" ${EMULATION_NAME} "*)
+ NATIVE=yes
+ ;;
+ esac
+fi
+
+# Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first.
+case "$EMULATION_NAME" in
+ *64*) LIBPATH_SUFFIX=64 ;;
+esac
Index: elf32xc16xs.sh
===================================================================
--- elf32xc16xs.sh (nonexistent)
+++ elf32xc16xs.sh (revision 816)
@@ -0,0 +1,8 @@
+SCRIPT_NAME=elf32xc16xs
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf32-xc16x"
+TEXT_START_ADDR=0xc00300
+ARCH=xc16x:xc16xs
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ENTRY=_start
+EMBEDDED=yes
Index: i386moss.sh
===================================================================
--- i386moss.sh (nonexistent)
+++ i386moss.sh (revision 816)
@@ -0,0 +1,9 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-i386"
+TEXT_START_ADDR=0x00002000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=i386
+MACHINE=
+NOP=0x90909090
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
Index: elf64alpha_nbsd.sh
===================================================================
--- elf64alpha_nbsd.sh (nonexistent)
+++ elf64alpha_nbsd.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/elf64alpha.sh
+ENTRY=__start
Index: shlelf_linux.sh
===================================================================
--- shlelf_linux.sh (nonexistent)
+++ shlelf_linux.sh (revision 816)
@@ -0,0 +1,18 @@
+# If you change this file, please also look at files which source this one:
+# shelf_linux.sh
+
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-sh-linux"
+TEXT_START_ADDR=0x400000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+ARCH=sh
+MACHINE=
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+
+DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
+
+OTHER_READWRITE_SECTIONS="
+ .note.ABI-tag ${RELOCATING-0} : { *(.note.ABI-tag) }"
Index: elf32xtensa.sh
===================================================================
--- elf32xtensa.sh (nonexistent)
+++ elf32xtensa.sh (revision 816)
@@ -0,0 +1,44 @@
+SCRIPT_NAME=elfxtensa
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=xtensaelf
+OUTPUT_FORMAT=undefined
+BIG_OUTPUT_FORMAT="elf32-xtensa-be"
+LITTLE_OUTPUT_FORMAT="elf32-xtensa-le"
+TEXT_START_ADDR=0x400000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=xtensa
+MACHINE=
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+GENERATE_COMBRELOC_SCRIPT=yes
+NO_SMALL_DATA=yes
+TEXT_PLT=yes
+PLT="/* .plt* sections are embedded in .text */"
+GOT=".got ${RELOCATING-0} : { *(.got) }"
+OTHER_READONLY_SECTIONS="
+ .got.loc ${RELOCATING-0} : { *(.got.loc) }
+ .xt_except_table ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.xt_except_table${RELOCATING+ .xt_except_table.* .gnu.linkonce.e.*})) }
+"
+OTHER_RELRO_SECTIONS="
+ .xt_except_table ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.xt_except_table${RELOCATING+ .xt_except_table.* .gnu.linkonce.e.*})) }
+"
+OTHER_READWRITE_SECTIONS="
+ .xt_except_desc ${RELOCATING-0} :
+ {
+ *(.xt_except_desc${RELOCATING+ .xt_except_desc.* .gnu.linkonce.h.*})
+ ${RELOCATING+*(.xt_except_desc_end)}
+ }
+"
+OTHER_SDATA_SECTIONS="
+ .lit4 ${RELOCATING-0} :
+ {
+ ${RELOCATING+PROVIDE (_lit4_start = .);}
+ *(.lit4${RELOCATING+ .lit4.* .gnu.linkonce.lit4.*})
+ ${RELOCATING+PROVIDE (_lit4_end = .);}
+ }
+"
+OTHER_SECTIONS="
+ .xt.lit 0 : { KEEP (*(.xt.lit${RELOCATING+ .xt.lit.* .gnu.linkonce.p.*})) }
+ .xt.insn 0 : { KEEP (*(.xt.insn${RELOCATING+ .gnu.linkonce.x.*})) }
+ .xt.prop 0 : { KEEP (*(.xt.prop${RELOCATING+ .xt.prop.* .gnu.linkonce.prop.*})) }
+"
Index: elf32mcore.sh
===================================================================
--- elf32mcore.sh (nonexistent)
+++ elf32mcore.sh (revision 816)
@@ -0,0 +1,58 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-mcore-little"
+BIG_OUTPUT_FORMAT="elf32-mcore-big"
+LITTLE_OUTPUT_FORMAT="elf32-mcore-little"
+PAGE_SIZE=0x1000
+TARGET_PAGE_SIZE=0x400
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+TEXT_START_ADDR=0
+ARCH=mcore
+EMBEDDED=yes
+
+# There is a problem with the NOP value - it must work for both
+# big endian and little endian systems. Unfortunately there is
+# no symmetrical mcore opcode that functions as a noop. The
+# chosen solution is to use "tst r0, r14". This is a symetrical
+# value, and apart from the corruption of the C bit, it has no other
+# side effects. Since the carry bit is never tested without being
+# explicitly set first, and since the NOP code is only used as a
+# fill value between independantly viable peices of code, it should
+# not matter.
+NOP=0x0e0e0e0e
+
+OTHER_BSS_SYMBOLS="__bss_start__ = . ;"
+OTHER_BSS_END_SYMBOLS="__bss_end__ = . ;"
+
+# This sets the stack to the top of the simulator memory (2^19 bytes).
+STACK_ADDR=0x80000
+
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+
+# This code gets inserted into the generic elf32.sc linker script
+# and allows us to define our own command line switches.
+PARSE_AND_LIST_PROLOGUE='
+#define OPTION_BASE_FILE 300
+'
+
+PARSE_AND_LIST_LONGOPTS='
+ {"base-file", required_argument, NULL, OPTION_BASE_FILE},
+'
+
+PARSE_AND_LIST_OPTIONS='
+ fprintf (file, _(" --base_file \n"));
+ fprintf (file, _("\t\t\tGenerate a base file for relocatable DLLs\n"));
+'
+
+PARSE_AND_LIST_ARGS_CASES='
+ case OPTION_BASE_FILE:
+ link_info.base_file = fopen (optarg, FOPEN_WB);
+ if (link_info.base_file == NULL)
+ {
+ /* xgettext:c-format */
+ fprintf (stderr, _("%s: Cannot open base file %s\n"),
+ program_name, optarg);
+ xexit (1);
+ }
+ break;
+'
Index: aix5rs6.sh
===================================================================
--- aix5rs6.sh (nonexistent)
+++ aix5rs6.sh (revision 816)
@@ -0,0 +1,6 @@
+TEMPLATE_NAME=aix
+SCRIPT_NAME=aix
+OUTPUT_FORMAT="aixcoff-rs6000"
+OUTPUT_FORMAT_32BIT="aixcoff-rs6000"
+OUTPUT_FORMAT_64BIT="aix5coff64-rs6000"
+ARCH=rs6000
Index: elf64_ia64.sh
===================================================================
--- elf64_ia64.sh (nonexistent)
+++ elf64_ia64.sh (revision 816)
@@ -0,0 +1,39 @@
+# See genscripts.sh and ../scripttempl/elf.sc for the meaning of these.
+SCRIPT_NAME=elf
+ELFSIZE=64
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=ia64elf
+OUTPUT_FORMAT="elf64-ia64-little"
+ARCH=ia64
+MACHINE=
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+# FIXME: It interferes with linker relaxation. Disable it until it is
+# fixed.
+if test "0" = "1" -a -n "$CREATE_SHLIB"; then
+ # Optimize shared libraries for 16K page size
+ COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+fi
+TEXT_START_ADDR="0x4000000000000000"
+DATA_ADDR="0x6000000000000000 + (. & (${MAXPAGESIZE} - 1))"
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+NOP=0x00300000010070000002000001000400 # a bundle full of nops
+OTHER_GOT_SECTIONS="
+ .IA_64.pltoff ${RELOCATING-0} : { *(.IA_64.pltoff) }"
+OTHER_PLT_RELOC_SECTIONS="
+ .rela.IA_64.pltoff ${RELOCATING-0} : { *(.rela.IA_64.pltoff) }"
+OTHER_READONLY_SECTIONS=
+OTHER_READWRITE_SECTIONS=
+test -z "$CREATE_PIE" && OTHER_READONLY_SECTIONS="
+ .opd ${RELOCATING-0} : { *(.opd) }"
+test -n "$CREATE_PIE" && OTHER_READWRITE_SECTIONS="
+ .opd ${RELOCATING-0} : { *(.opd) }"
+test -n "$CREATE_PIE" && OTHER_GOT_RELOC_SECTIONS="
+ .rela.opd ${RELOCATING-0} : { *(.rela.opd) }"
+OTHER_READONLY_SECTIONS="${OTHER_READONLY_SECTIONS}
+ .IA_64.unwind_info ${RELOCATING-0} : { *(.IA_64.unwind_info${RELOCATING+* .gnu.linkonce.ia64unwi.*}) }
+ .IA_64.unwind ${RELOCATING-0} : { *(.IA_64.unwind${RELOCATING+* .gnu.linkonce.ia64unw.*}) }"
+# Intel C++ compiler, prior to 9.0, puts small data in .ctors and
+# .dtors. They have to be next to .sbss/.sbss2/.sdata/.sdata2.
+SMALL_DATA_CTOR=" "
+SMALL_DATA_DTOR=" "
Index: gld960coff.sh
===================================================================
--- gld960coff.sh (nonexistent)
+++ gld960coff.sh (revision 816)
@@ -0,0 +1,19 @@
+SCRIPT_NAME=i960
+OUTPUT_FORMAT=""
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=128
+ARCH=i960
+TEMPLATE_NAME=gld960c
+GLD_STYLE=1
+COFF_CTORS='
+ ___CTOR_LIST__ = .;
+ LONG((___CTOR_END__ - ___CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ ___CTOR_END__ = .;
+ ___DTOR_LIST__ = .;
+ LONG((___DTOR_END__ - ___DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ ___DTOR_END__ = .;
+'
Index: h8300sn.sh
===================================================================
--- h8300sn.sh (nonexistent)
+++ h8300sn.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8300sn
+OUTPUT_FORMAT="coff-h8300"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8300
Index: armpe.sh
===================================================================
--- armpe.sh (nonexistent)
+++ armpe.sh (revision 816)
@@ -0,0 +1,15 @@
+ARCH=arm
+SCRIPT_NAME=pe
+
+OUTPUT_FORMAT="pei-arm-little"
+LITTLE_OUTPUT_FORMAT="pei-arm-little"
+BIG_OUTPUT_FORMAT="pei-arm-big"
+
+RELOCATEABLE_OUTPUT_FORMAT="pe-arm-little"
+
+TEMPLATE_NAME=pe
+ENTRY="_mainCRTStartup"
+SUBSYSTEM=PE_DEF_SUBSYSTEM
+INITIAL_SYMBOL_CHAR=\"_\"
+
+TARGET_PAGE_SIZE=0x1000
Index: maxqcoff.sh
===================================================================
--- maxqcoff.sh (nonexistent)
+++ maxqcoff.sh (revision 816)
@@ -0,0 +1,7 @@
+OUTPUT_FORMAT="coff-maxq"
+
+SCRIPT_NAME=maxqcoff
+
+ARCH=MAXQ
+
+TEXT_START_ADDR=0x8000
Index: vaxnbsd.sh
===================================================================
--- vaxnbsd.sh (nonexistent)
+++ vaxnbsd.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=aout
+TEXT_START_ADDR=0x1020
+OUTPUT_FORMAT="a.out-vax-netbsd"
+TARGET_PAGE_SIZE=0x1000
+ARCH=vax
+EXECUTABLE_SYMBOLS='__DYNAMIC = 0;'
Index: elf32cr16.sh
===================================================================
--- elf32cr16.sh (nonexistent)
+++ elf32cr16.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=elf32cr16
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf32-cr16"
+ARCH=cr16
+ENTRY=_start
+EXTRA_EM_FILE=cr16elf
Index: avr4.sh
===================================================================
--- avr4.sh (nonexistent)
+++ avr4.sh (revision 816)
@@ -0,0 +1,11 @@
+ARCH=avr:4
+MACHINE=
+SCRIPT_NAME=avr
+OUTPUT_FORMAT="elf32-avr"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=elf32
+
+TEXT_LENGTH=8K
+DATA_LENGTH=0xffa0
+EXTRA_EM_FILE=avrelf
Index: vsta.sh
===================================================================
--- vsta.sh (nonexistent)
+++ vsta.sh (revision 816)
@@ -0,0 +1,10 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-i386"
+TEXT_START_ADDR=0x1020
+TARGET_PAGE_SIZE=0x1000
+SEGMENT_SIZE=0x400000
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0 ;;
+esac
+ARCH=i386
+
Index: msp430all.sh
===================================================================
--- msp430all.sh (nonexistent)
+++ msp430all.sh (revision 816)
@@ -0,0 +1,553 @@
+#!/bin/sh
+
+# This called by genscripts_extra.sh
+
+MSP430_NAME=${EMULATION_NAME}
+
+SCRIPT_NAME=elf32msp430
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-msp430"
+MACHINE=
+MAXPAGESIZE=1
+EMBEDDED=yes
+
+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
+ROM_START=0xfc00
+ROM_SIZE=0x3e0
+RAM_START=0x0200
+RAM_SIZE=128
+STACK=0x280
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1111" ] ; then
+ARCH=msp:110
+ROM_START=0xf800
+ROM_SIZE=0x07e0
+RAM_START=0x0200
+RAM_SIZE=128
+STACK=0x280
+fi
+
+if [ "${MSP430_NAME}" = "msp430x112" ] ; then
+ARCH=msp:11
+ROM_START=0xf000
+ROM_SIZE=0xfe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1121" ] ; then
+ARCH=msp:110
+ROM_START=0xf000
+ROM_SIZE=0x0fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1122" ] ; then
+ARCH=msp:110
+ROM_START=0xf000
+ROM_SIZE=0x0fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1132" ] ; then
+ARCH=msp:110
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x122" ] ; then
+ARCH=msp:12
+ROM_START=0xf000
+ROM_SIZE=0xfe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1222" ] ; then
+ARCH=msp:12
+ROM_START=0xf000
+ROM_SIZE=0xfe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x123" ] ; then
+ARCH=msp:12
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1232" ] ; then
+ARCH=msp:12
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x133" ] ; then
+ARCH=msp:13
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1331" ] ; then
+ARCH=msp:13
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x135" ] ; then
+ARCH=msp:13
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1351" ] ; then
+ARCH=msp:13
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x147" ] ; then
+ARCH=msp:14
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1K
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x148" ] ; then
+ARCH=msp:14
+ROM_START=0x4000
+ROM_SIZE=0xbfe0
+RAM_START=0x0200
+RAM_SIZE=0x0800
+STACK=0xa00
+fi
+
+if [ "${MSP430_NAME}" = "msp430x149" ] ; then
+ARCH=msp:14
+ROM_START=0x1100
+ROM_SIZE=0xeee0
+RAM_START=0x0200
+RAM_SIZE=0x0800
+STACK=0xa00
+fi
+
+if [ "${MSP430_NAME}" = "msp430x155" ] ; then
+ARCH=msp:15
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x156" ] ; then
+ARCH=msp:15
+ROM_START=0xa000
+ROM_SIZE=0x5fe0
+RAM_START=0x0200
+RAM_SIZE=512
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x157" ] ; then
+ARCH=msp:15
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1K
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x167" ] ; then
+ARCH=msp:16
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1K
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x168" ] ; then
+ARCH=msp:16
+ROM_START=0x4000
+ROM_SIZE=0xbfe0
+RAM_START=0x0200
+RAM_SIZE=0x0800
+STACK=0xa00
+fi
+
+if [ "${MSP430_NAME}" = "msp430x169" ] ; then
+ARCH=msp:16
+ROM_START=0x1100
+ROM_SIZE=0xeee0
+RAM_START=0x0200
+RAM_SIZE=0x0800
+STACK=0xa00
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1610" ] ; then
+ARCH=msp:16
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x1100
+RAM_SIZE=0x1400
+STACK=0x2500
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1611" ] ; then
+ARCH=msp:16
+ROM_START=0x4000
+ROM_SIZE=0xbfe0
+RAM_START=0x1100
+RAM_SIZE=0x2800
+STACK=0x3900
+fi
+
+if [ "${MSP430_NAME}" = "msp430x1612" ] ; then
+ARCH=msp:16
+ROM_START=0x2500
+ROM_SIZE=0xdae0
+RAM_START=0x1100
+RAM_SIZE=0x1400
+STACK=0x2500
+fi
+
+if [ "${MSP430_NAME}" = "msp430x2101" ] ; then
+ARCH=msp:21
+ROM_START=0xFC00
+ROM_SIZE=0x03e0
+RAM_START=0x0200
+RAM_SIZE=128
+STACK=0x280
+fi
+
+if [ "${MSP430_NAME}" = "msp430x2111" ] ; then
+ARCH=msp:21
+ROM_START=0xF800
+ROM_SIZE=0x07e0
+RAM_START=0x0200
+RAM_SIZE=128
+STACK=0x280
+fi
+
+if [ "${MSP430_NAME}" = "msp430x2121" ] ; then
+ARCH=msp:21
+ROM_START=0xf000
+ROM_SIZE=0x0fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x2131" ] ; then
+ARCH=msp:21
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x311" ] ; then
+ARCH=msp:31
+SCRIPT_NAME=elf32msp430_3
+ROM_START=0xf800
+ROM_SIZE=0x07e0
+RAM_START=0x0200
+RAM_SIZE=128
+STACK=0x280
+fi
+
+if [ "${MSP430_NAME}" = "msp430x312" ] ; then
+ARCH=msp:31
+SCRIPT_NAME=elf32msp430_3
+ROM_START=0xf000
+ROM_SIZE=0x0fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x313" ] ; then
+ARCH=msp:31
+SCRIPT_NAME=elf32msp430_3
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x314" ] ; then
+ARCH=msp:31
+SCRIPT_NAME=elf32msp430_3
+ROM_START=0xd000
+ROM_SIZE=0x2fe0
+RAM_START=0x0200
+RAM_SIZE=512
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x315" ] ; then
+ARCH=msp:31
+SCRIPT_NAME=elf32msp430_3
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x323" ] ; then
+ARCH=msp:32
+SCRIPT_NAME=elf32msp430_3
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x325" ] ; then
+ARCH=msp:32
+SCRIPT_NAME=elf32msp430_3
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x336" ] ; then
+ARCH=msp:33
+SCRIPT_NAME=elf32msp430_3
+ROM_START=0xa000
+ROM_SIZE=0x5fe0
+RAM_START=0x0200
+RAM_SIZE=1024
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x337" ] ; then
+ARCH=msp:33
+SCRIPT_NAME=elf32msp430_3
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1024
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x412" ] ; then
+ARCH=msp:41
+ROM_START=0xf000
+ROM_SIZE=0x0fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x413" ] ; then
+ARCH=msp:41
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430x415" ] ; then
+ARCH=msp:41
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x417" ] ; then
+ARCH=msp:41
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1024
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x435" ] ; then
+ARCH=msp:43
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430x436" ] ; then
+ARCH=msp:43
+ROM_START=0xa000
+ROM_SIZE=0x5fe0
+RAM_START=0x0200
+RAM_SIZE=1024
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x437" ] ; then
+ARCH=msp:43
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1024
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x447" ] ; then
+ARCH=msp:44
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1024
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430x448" ] ; then
+ARCH=msp:44
+ROM_START=0x4000
+ROM_SIZE=0xbfe0
+RAM_START=0x0200
+RAM_SIZE=0x0800
+STACK=0xa00
+fi
+
+if [ "${MSP430_NAME}" = "msp430x449" ] ; then
+ARCH=msp:44
+ROM_START=0x1100
+ROM_SIZE=0xeee0
+RAM_START=0x0200
+RAM_SIZE=0x0800
+STACK=0xa00
+fi
+
+if [ "${MSP430_NAME}" = "msp430xE423" ] ; then
+ARCH=msp:42
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430xE425" ] ; then
+ARCH=msp:42
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430xE427" ] ; then
+ARCH=msp:42
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1024
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430xG437" ] ; then
+ARCH=msp:43
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1024
+STACK=0x600
+fi
+
+if [ "${MSP430_NAME}" = "msp430xG438" ] ; then
+ARCH=msp:43
+ROM_START=0x4000
+ROM_SIZE=0xbef0
+RAM_START=0x0200
+RAM_SIZE=0x0800
+STACK=0xa00
+fi
+
+if [ "${MSP430_NAME}" = "msp430xG439" ] ; then
+ARCH=msp:43
+ROM_START=0x1100
+ROM_SIZE=0xeee0
+RAM_START=0x0200
+RAM_SIZE=0x0800
+STACK=0xa00
+fi
+
+if [ "${MSP430_NAME}" = "msp430xW423" ] ; then
+ARCH=msp:42
+ROM_START=0xe000
+ROM_SIZE=0x1fe0
+RAM_START=0x0200
+RAM_SIZE=256
+STACK=0x300
+fi
+
+if [ "${MSP430_NAME}" = "msp430xW425" ] ; then
+ARCH=msp:42
+ROM_START=0xc000
+ROM_SIZE=0x3fe0
+RAM_START=0x0200
+RAM_SIZE=512
+STACK=0x400
+fi
+
+if [ "${MSP430_NAME}" = "msp430xW427" ] ; then
+ARCH=msp:42
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=0x400
+STACK=0x600
+fi
Index: coff_i860.sh
===================================================================
--- coff_i860.sh (nonexistent)
+++ coff_i860.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=i860coff
+OUTPUT_FORMAT="coff-i860"
+PAGE_SIZE=0x1000
+MAXPAGESIZE=0x1000
+ARCH=i860
Index: aixppc.sh
===================================================================
--- aixppc.sh (nonexistent)
+++ aixppc.sh (revision 816)
@@ -0,0 +1,7 @@
+TEMPLATE_NAME=aix
+SCRIPT_NAME=aix
+OUTPUT_FORMAT="aixcoff-rs6000"
+OUTPUT_FORMAT_32BIT="aixcoff-rs6000"
+OUTPUT_FORMAT_64BIT="aixcoff64-rs6000"
+ARCH=powerpc
+
Index: arm_wince_pe.sh
===================================================================
--- arm_wince_pe.sh (nonexistent)
+++ arm_wince_pe.sh (revision 816)
@@ -0,0 +1,14 @@
+ARCH=arm
+SCRIPT_NAME=pe
+
+OUTPUT_FORMAT="pei-arm-wince-little"
+LITTLE_OUTPUT_FORMAT="pei-arm-wince-little"
+BIG_OUTPUT_FORMAT="pei-arm-wince-big"
+
+RELOCATEABLE_OUTPUT_FORMAT="pe-arm-wince-little"
+
+TEMPLATE_NAME=pe
+ENTRY="WinMainCRTStartup"
+SUBSYSTEM=PE_DEF_SUBSYSTEM
+INITIAL_SYMBOL_CHAR=\"\"
+TARGET_PAGE_SIZE=0x1000
Index: tic3xcoff.sh
===================================================================
--- tic3xcoff.sh (nonexistent)
+++ tic3xcoff.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=tic4xcoff
+OUTPUT_FORMAT="coff2-tic4x"
+OUTPUT_ARCH="tic3x"
+ARCH=tic3x
+TEMPLATE_NAME=ticoff
+OUTPUT_FORMAT_TEMPLATE=tic4x
Index: h8300snelf.sh
===================================================================
--- h8300snelf.sh (nonexistent)
+++ h8300snelf.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/h8300elf.sh
+ARCH="h8300:h8300sn"
Index: mn10200.sh
===================================================================
--- mn10200.sh (nonexistent)
+++ mn10200.sh (revision 816)
@@ -0,0 +1,23 @@
+# If you change this file, please also look at files which source this one:
+# mn10300.sh
+
+SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-mn10200"
+TEXT_START_ADDR=0x0
+ARCH=mn10200
+MACHINE=
+MAXPAGESIZE=1
+ENTRY=_start
+EMBEDDED=yes
+
+# This sets the stack to the top of the simulator memory (2^19 bytes).
+STACK_ADDR=0x80000
+
+# These are for compatibility with the COFF toolchain.
+# XXX These should definitely disappear.
+CTOR_START='___ctors = .;'
+CTOR_END='___ctors_end = .;'
+DTOR_START='___dtors = .;'
+DTOR_END='___dtors_end = .;'
Index: vax.sh
===================================================================
--- vax.sh (nonexistent)
+++ vax.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-vax-bsd"
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=1024
+ARCH=vax
Index: i386pe_posix.sh
===================================================================
--- i386pe_posix.sh (nonexistent)
+++ i386pe_posix.sh (revision 816)
@@ -0,0 +1,11 @@
+ARCH=i386
+SCRIPT_NAME=pe
+OUTPUT_FORMAT="pei-i386"
+RELOCATEABLE_OUTPUT_FORMAT="pe-i386"
+TEMPLATE_NAME=pe
+ENTRY="___PosixProcessStartup"
+SUBSYSTEM=7
+EXECUTABLE_NAME=a.out
+INITIAL_SYMBOL_CHAR=\"_\"
+TARGET_PAGE_SIZE=0x1000
+GENERATE_AUTO_IMPORT_SCRIPT=1
Index: h8300helf.sh
===================================================================
--- h8300helf.sh (nonexistent)
+++ h8300helf.sh (revision 816)
@@ -0,0 +1,3 @@
+. ${srcdir}/emulparams/h8300elf.sh
+ARCH="h8300:h8300h"
+STACK_ADDR=0x2fefc
Index: elf32elmip.sh
===================================================================
--- elf32elmip.sh (nonexistent)
+++ elf32elmip.sh (revision 816)
@@ -0,0 +1,2 @@
+EMBEDDED=yes
+. ${srcdir}/emulparams/elf32lmip.sh
Index: m68kaux.sh
===================================================================
--- m68kaux.sh (nonexistent)
+++ m68kaux.sh (revision 816)
@@ -0,0 +1,8 @@
+SCRIPT_NAME=m68kaux
+OUTPUT_FORMAT="coff-m68k-aux"
+SEGMENT_SIZE=0x40000
+TARGET_PAGE_SIZE=0x1000
+TEXT_START_ADDR="$SEGMENT_SIZE + SIZEOF_HEADERS"
+NON_PAGED_TEXT_START_ADDR=SIZEOF_HEADERS
+DATA_ALIGNMENT_="(. & (-$SEGMENT_SIZE | $TARGET_PAGE_SIZE-1)) + $SEGMENT_SIZE"
+ARCH=m68k
Index: armelf_fbsd.sh
===================================================================
--- armelf_fbsd.sh (nonexistent)
+++ armelf_fbsd.sh (revision 816)
@@ -0,0 +1,3 @@
+. ${srcdir}/emulparams/armelf.sh
+. ${srcdir}/emulparams/elf_fbsd.sh
+TARGET2_TYPE=got-rel
Index: elf64bmip-defs.sh
===================================================================
--- elf64bmip-defs.sh (nonexistent)
+++ elf64bmip-defs.sh (revision 816)
@@ -0,0 +1,3 @@
+. ${srcdir}/emulparams/elf32bmipn32-defs.sh
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+INITIAL_READONLY_SECTIONS=".MIPS.options : { *(.MIPS.options) }"
Index: elf32lppcnto.sh
===================================================================
--- elf32lppcnto.sh (nonexistent)
+++ elf32lppcnto.sh (revision 816)
@@ -0,0 +1,5 @@
+. ${srcdir}/emulparams/elf32ppc.sh
+OUTPUT_FORMAT="elf32-powerpcle"
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+TEXT_START_ADDR=0x48040000
+
Index: tic30aout.sh
===================================================================
--- tic30aout.sh (nonexistent)
+++ tic30aout.sh (revision 816)
@@ -0,0 +1,7 @@
+SCRIPT_NAME=tic30aout
+OUTPUT_FORMAT="a.out-tic30"
+OUTPUT_ARCH="tms320c30"
+TEXT_START_ADDR=0x0
+TARGET_PAGE_SIZE=128
+ARCH=tms320c30
+BIG=1
Index: armelf_nbsd.sh
===================================================================
--- armelf_nbsd.sh (nonexistent)
+++ armelf_nbsd.sh (revision 816)
@@ -0,0 +1,7 @@
+. ${srcdir}/emulparams/armelf.sh
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+TEXT_START_ADDR=0x00008000
+TARGET2_TYPE=got-rel
+
+unset STACK_ADDR
+unset EMBEDDED
Index: bfin.sh
===================================================================
--- bfin.sh (nonexistent)
+++ bfin.sh (revision 816)
@@ -0,0 +1,12 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-bfin"
+TEXT_START_ADDR=0x0
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+TARGET_PAGE_SIZE=0x1000
+ARCH=bfin
+MACHINE=
+ENTRY=__start
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+EMBEDDED=yes
+USER_LABEL_PREFIX=_
bfin.sh
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: shelf_linux.sh
===================================================================
--- shelf_linux.sh (nonexistent)
+++ shelf_linux.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/shlelf_linux.sh
+OUTPUT_FORMAT="elf32-shbig-linux"
Index: elf_i386_vxworks.sh
===================================================================
--- elf_i386_vxworks.sh (nonexistent)
+++ elf_i386_vxworks.sh (revision 816)
@@ -0,0 +1,13 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-i386-vxworks"
+TEXT_START_ADDR=0x08048000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+ARCH=i386
+MACHINE=
+NOP=0x90909090
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+NO_SMALL_DATA=yes
+. ${srcdir}/emulparams/vxworks.sh
Index: m68kelfnbsd.sh
===================================================================
--- m68kelfnbsd.sh (nonexistent)
+++ m68kelfnbsd.sh (revision 816)
@@ -0,0 +1,4 @@
+. ${srcdir}/emulparams/m68kelf.sh
+TEXT_START_ADDR=0x2000
+TARGET_PAGE_SIZE=0x2000
+MACHINE=
Index: armelf_linux.sh
===================================================================
--- armelf_linux.sh (nonexistent)
+++ armelf_linux.sh (revision 816)
@@ -0,0 +1,24 @@
+ARCH=arm
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-littlearm"
+BIG_OUTPUT_FORMAT="elf32-bigarm"
+LITTLE_OUTPUT_FORMAT="elf32-littlearm"
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=armelf
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+
+DATA_START_SYMBOLS='__data_start = . ;';
+OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)'
+OTHER_BSS_SYMBOLS='__bss_start__ = .;'
+OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
+OTHER_END_SYMBOLS='__end__ = . ;'
+OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
+
+TEXT_START_ADDR=0x00008000
+TARGET2_TYPE=got-rel
+
+# ARM does not support .s* sections.
+NO_SMALL_DATA=yes
Index: m32rlelf.sh
===================================================================
--- m32rlelf.sh (nonexistent)
+++ m32rlelf.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/m32relf.sh
+OUTPUT_FORMAT="elf32-m32rle"
Index: elf32ltsmipn32.sh
===================================================================
--- elf32ltsmipn32.sh (nonexistent)
+++ elf32ltsmipn32.sh (revision 816)
@@ -0,0 +1,4 @@
+. ${srcdir}/emulparams/elf32btsmipn32.sh
+OUTPUT_FORMAT="elf32-ntradlittlemips"
+BIG_OUTPUT_FORMAT="elf32-ntradbigmips"
+LITTLE_OUTPUT_FORMAT="elf32-ntradlittlemips"
Index: elf32crx.sh
===================================================================
--- elf32crx.sh (nonexistent)
+++ elf32crx.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=elf32crx
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf32-crx"
+ARCH=crx
+ENTRY=_start
+EXTRA_EM_FILE=crxelf
Index: aix5ppc.sh
===================================================================
--- aix5ppc.sh (nonexistent)
+++ aix5ppc.sh (revision 816)
@@ -0,0 +1,6 @@
+TEMPLATE_NAME=aix
+SCRIPT_NAME=aix
+OUTPUT_FORMAT="aixcoff-rs6000"
+OUTPUT_FORMAT_32BIT="aixcoff-rs6000"
+OUTPUT_FORMAT_64BIT="aix5coff64-rs6000"
+ARCH=powerpc
Index: m32relf.sh
===================================================================
--- m32relf.sh (nonexistent)
+++ m32relf.sh (revision 816)
@@ -0,0 +1,12 @@
+MACHINE=
+SCRIPT_NAME=elf
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf32-m32r"
+TEXT_START_ADDR=0x100
+ARCH=m32r
+MACHINE=
+MAXPAGESIZE=32
+EMBEDDED=yes
+
+# This sets the stack to the top of simulator memory (8MB).
+OTHER_SYMBOLS='PROVIDE (_stack = 0x800000);'
Index: m68hc12elf.sh
===================================================================
--- m68hc12elf.sh (nonexistent)
+++ m68hc12elf.sh (revision 816)
@@ -0,0 +1,18 @@
+MACHINE=
+SCRIPT_NAME=elfm68hc12
+OUTPUT_FORMAT="elf32-m68hc12"
+ROM_START_ADDR=0x08000
+ROM_SIZE=0x8000
+RAM_START_ADDR=0x01100
+RAM_SIZE=0x6F00
+EEPROM_START_ADDR=0x0800
+EEPROM_SIZE=2048
+TEXT_MEMORY=text
+DATA_MEMORY=data
+EEPROM_MEMORY=eeprom
+ARCH=m68hc12
+MAXPAGESIZE=32
+EMBEDDED=yes
+GENERIC_BOARD=no
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=m68hc1xelf
Index: elf64_aix.sh
===================================================================
--- elf64_aix.sh (nonexistent)
+++ elf64_aix.sh (revision 816)
@@ -0,0 +1,21 @@
+# See genscripts.sh and ../scripttempl/elf.sc for the meaning of these.
+SCRIPT_NAME=elf
+ELFSIZE=64
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf64-ia64-aix-little"
+ARCH=ia64
+MACHINE=
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+TEXT_START_ADDR="0x10000000"
+DATA_ADDR="ALIGN (0x10000000) + (. & (${MAXPAGESIZE} - 1))"
+GENERATE_SHLIB_SCRIPT=yes
+NOP=0x00300000010070000002000001000400 # a bundle full of nops
+OTHER_GOT_SECTIONS="
+ .IA_64.pltoff ${RELOCATING-0} : { *(.IA_64.pltoff) }"
+OTHER_PLT_RELOC_SECTIONS="
+ .rela.IA_64.pltoff ${RELOCATING-0} : { *(.rela.IA_64.pltoff) }"
+OTHER_READONLY_SECTIONS="
+ .opd ${RELOCATING-0} : { *(.opd) }
+ .IA_64.unwind_info ${RELOCATING-0} : { *(.IA_64.unwind_info*${RELOCATING+ .gnu.linkonce.ia64unwi.*}) }
+ .IA_64.unwind ${RELOCATING-0} : { *(.IA_64.unwind*${RELOCATING+ .gnu.linkonce.ia64unw.*}) }"
+LIB_PATH="=/usr/lib/ia64l64:=/usr/lib:=/usr/local/lib"
Index: mipslnews.sh
===================================================================
--- mipslnews.sh (nonexistent)
+++ mipslnews.sh (revision 816)
@@ -0,0 +1,9 @@
+SCRIPT_NAME=mips
+OUTPUT_FORMAT="ecoff-littlemips"
+BIG_OUTPUT_FORMAT="ecoff-bigmips"
+LITTLE_OUTPUT_FORMAT="ecoff-littlemips"
+TARGET_PAGE_SIZE=0x1000000
+ARCH=mips
+TEXT_START_ADDR=0x80080000
+DATA_ADDR=.
+EMBEDDED=yes
Index: h8300sxnelf.sh
===================================================================
--- h8300sxnelf.sh (nonexistent)
+++ h8300sxnelf.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/h8300elf.sh
+ARCH="h8300:h8300sxn"
Index: hppa64linux.sh
===================================================================
--- hppa64linux.sh (nonexistent)
+++ hppa64linux.sh (revision 816)
@@ -0,0 +1,55 @@
+# If you change this file, please also look at files which source this one:
+# elf64hppa.sh
+
+SCRIPT_NAME=elf
+ELFSIZE=64
+# FIXME: this output format is for hpux.
+OUTPUT_FORMAT="elf64-hppa-linux"
+TEXT_START_ADDR=0x10000
+TARGET_PAGE_SIZE=0x10000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=hppa
+MACHINE=hppa2.0w
+ENTRY="main"
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+
+# We really want multiple .stub sections, one for each input .text section,
+# but for now this is good enough.
+OTHER_READONLY_SECTIONS="
+ .PARISC.unwind ${RELOCATING-0} : { *(.PARISC.unwind) }"
+
+# The PA64 ELF port treats .plt sections differently than most. We also have
+# to create a .opd section. What most systems call the .got, we call the .dlt
+OTHER_READWRITE_SECTIONS="
+ .opd ${RELOCATING-0} : { *(.opd) }
+ ${RELOCATING+PROVIDE (__gp = .);}
+ .plt ${RELOCATING-0} : { *(.plt) }
+ .dlt ${RELOCATING-0} : { *(.dlt) }"
+
+# The PA64 ELF port has an additional huge bss section.
+OTHER_BSS_SECTIONS=".hbss ${RELOCATING-0} : { *(.hbss) }"
+
+#OTHER_SYMBOLS='PROVIDE (__TLS_SIZE = SIZEOF (.tbss));'
+OTHER_SYMBOLS='
+ PROVIDE (__TLS_SIZE = 0);
+ PROVIDE (__TLS_INIT_SIZE = 0);
+ PROVIDE (__TLS_INIT_START = 0);
+ PROVIDE (__TLS_INIT_A = 0);
+ PROVIDE (__TLS_PREALLOC_DTV_A = 0);'
+
+# HPs use .dlt where systems use .got. Sigh.
+OTHER_GOT_RELOC_SECTIONS="
+ .rela.dlt ${RELOCATING-0} : { *(.rela.dlt) }
+ .rela.opd ${RELOCATING-0} : { *(.rela.opd) }"
+
+# We're not actually providing a symbol anymore (due to the inability to be
+# safe in regards to shared libraries). So we just allocate the hunk of space
+# unconditionally, but do not mess around with the symbol table.
+DATA_START_SYMBOLS='. += 16;'
+
+DATA_PLT=
+PLT_BEFORE_GOT=
+
+# .dynamic should be at the start of the .text segment.
+TEXT_DYNAMIC=
Index: i386aout.sh
===================================================================
--- i386aout.sh (nonexistent)
+++ i386aout.sh (revision 816)
@@ -0,0 +1,8 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-i386"
+TARGET_PAGE_SIZE=0x1000
+TEXT_START_ADDR=0
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0x1000 ;;
+esac
+ARCH=i386
Index: z8002.sh
===================================================================
--- z8002.sh (nonexistent)
+++ z8002.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=z8000
+OUTPUT_FORMAT="coff-z8k"
+OUTPUT_ARCH="z8002"
+TEXT_START_ADDR=0x0
+TARGET_PAGE_SIZE=128
+ARCH=z8002
Index: elf32bmip.sh
===================================================================
--- elf32bmip.sh (nonexistent)
+++ elf32bmip.sh (revision 816)
@@ -0,0 +1,62 @@
+# If you change this file, please also look at files which source this one:
+# elf32b4300.sh elf32bsmip.sh elf32btsmip.sh elf32ebmip.sh elf32lmip.sh
+# elf32ebmipvxworks.sh elf32elmipvxworks.sh
+
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-bigmips"
+BIG_OUTPUT_FORMAT="elf32-bigmips"
+LITTLE_OUTPUT_FORMAT="elf32-littlemips"
+TEXT_START_ADDR=0x0400000
+test -n "${EMBEDDED}" || DATA_ADDR=0x10000000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+SHLIB_TEXT_START_ADDR=0x5ffe0000
+TEXT_DYNAMIC=
+INITIAL_READONLY_SECTIONS=
+if test -z "${CREATE_SHLIB}"; then
+ INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }"
+fi
+INITIAL_READONLY_SECTIONS="${INITIAL_READONLY_SECTIONS}
+ .reginfo ${RELOCATING-0} : { *(.reginfo) }
+"
+OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'
+# Unlike most targets, the MIPS backend puts all dynamic relocations
+# in a single dynobj section, which it also calls ".rel.dyn". It does
+# this so that it can easily sort all dynamic relocations before the
+# output section has been populated.
+OTHER_GOT_RELOC_SECTIONS="
+ .rel.dyn ${RELOCATING-0} : { *(.rel.dyn) }
+"
+# If the output has a GOT section, there must be exactly 0x7ff0 bytes
+# between .got and _gp. The ". = ." below stops the orphan code from
+# inserting other sections between the assignment to _gp and the start
+# of .got.
+OTHER_GOT_SYMBOLS='
+ . = .;
+ _gp = ALIGN(16) + 0x7ff0;
+'
+OTHER_SDATA_SECTIONS="
+ .lit8 ${RELOCATING-0} : { *(.lit8) }
+ .lit4 ${RELOCATING-0} : { *(.lit4) }
+"
+TEXT_START_SYMBOLS='_ftext = . ;'
+DATA_START_SYMBOLS='_fdata = . ;'
+OTHER_BSS_SYMBOLS='_fbss = .;'
+OTHER_SECTIONS='
+ .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
+ .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
+ .mdebug.abi32 : { KEEP(*(.mdebug.abi32)) }
+ .mdebug.abiN32 : { KEEP(*(.mdebug.abiN32)) }
+ .mdebug.abi64 : { KEEP(*(.mdebug.abi64)) }
+ .mdebug.abiO64 : { KEEP(*(.mdebug.abiO64)) }
+ .mdebug.eabi32 : { KEEP(*(.mdebug.eabi32)) }
+ .mdebug.eabi64 : { KEEP(*(.mdebug.eabi64)) }
+ .gcc_compiled_long32 : { KEEP(*(.gcc_compiled_long32)) }
+ .gcc_compiled_long64 : { KEEP(*(.gcc_compiled_long64)) }
+'
+ARCH=mips
+MACHINE=
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=mipself
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
Index: shlelf32_nbsd.sh
===================================================================
--- shlelf32_nbsd.sh (nonexistent)
+++ shlelf32_nbsd.sh (revision 816)
@@ -0,0 +1,3 @@
+. ${srcdir}/emulparams/shelf32_nbsd.sh
+
+OUTPUT_FORMAT="elf32-sh64l-nbsd"
Index: sparclinux.sh
===================================================================
--- sparclinux.sh (nonexistent)
+++ sparclinux.sh (revision 816)
@@ -0,0 +1,9 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-sparc-linux"
+TARGET_PAGE_SIZE=0x1000
+TEXT_START_ADDR=0x1020
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0 ;;
+esac
+ARCH=sparc
+TEMPLATE_NAME=linux
Index: elf32lppc.sh
===================================================================
--- elf32lppc.sh (nonexistent)
+++ elf32lppc.sh (revision 816)
@@ -0,0 +1,5 @@
+# If you change this file, please also look at files which source this one:
+# elf32lppcsim.sh
+
+. ${srcdir}/emulparams/elf32ppc.sh
+OUTPUT_FORMAT="elf32-powerpcle"
Index: arcelf.sh
===================================================================
--- arcelf.sh (nonexistent)
+++ arcelf.sh (revision 816)
@@ -0,0 +1,11 @@
+SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-littlearc"
+LITTLE_OUTPUT_FORMAT="elf32-littlearc"
+BIG_OUTPUT_FORMAT="elf32-bigarc"
+TEXT_START_ADDR=0x0
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=arc
+MACHINE=
+ENTRY=start
Index: shpe.sh
===================================================================
--- shpe.sh (nonexistent)
+++ shpe.sh (revision 816)
@@ -0,0 +1,10 @@
+ARCH=sh
+SCRIPT_NAME=pe
+OUTPUT_FORMAT="pei-shl"
+TEMPLATE_NAME=pe
+SUBSYSTEM=PE_DEF_SUBSYSTEM
+INITIAL_SYMBOL_CHAR=\"_\"
+ENTRY="_mainCRTStartup"
+SUBSYSTEM=PE_DEF_SUBSYSTEM
+INITIAL_SYMBOL_CHAR=\"_\"
+TARGET_PAGE_SIZE=0x1000
Index: elf64_ia64_fbsd.sh
===================================================================
--- elf64_ia64_fbsd.sh (nonexistent)
+++ elf64_ia64_fbsd.sh (revision 816)
@@ -0,0 +1,6 @@
+. ${srcdir}/emulparams/elf64_ia64.sh
+TEXT_START_ADDR="0x2000000000000000"
+unset DATA_ADDR
+unset SMALL_DATA_CTOR
+unset SMALL_DATA_DTOR
+. ${srcdir}/emulparams/elf_fbsd.sh
Index: elf32_sparc.sh
===================================================================
--- elf32_sparc.sh (nonexistent)
+++ elf32_sparc.sh (revision 816)
@@ -0,0 +1,16 @@
+# If you change this file, please also look at files which source this one:
+# elf32_sparc_vxworks.sh
+
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-sparc"
+TEXT_START_ADDR=0x10000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+ALIGNMENT=8
+ARCH=sparc
+MACHINE=
+TEMPLATE_NAME=elf32
+DATA_PLT=
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+NO_SMALL_DATA=yes
Index: elf_fbsd.sh
===================================================================
--- elf_fbsd.sh (nonexistent)
+++ elf_fbsd.sh (revision 816)
@@ -0,0 +1 @@
+ELF_INTERPRETER_NAME=\"/usr/libexec/ld-elf.so.1\"
Index: elf64_sparc.sh
===================================================================
--- elf64_sparc.sh (nonexistent)
+++ elf64_sparc.sh (revision 816)
@@ -0,0 +1,49 @@
+SCRIPT_NAME=elf
+ELFSIZE=64
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf64-sparc"
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+ARCH="sparc:v9"
+MACHINE=
+DATA_PLT=
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+NOP=0x01000000
+NO_SMALL_DATA=yes
+
+case "$target" in
+ sparc*-solaris*)
+ TEXT_START_ADDR=0x100000000
+ ;;
+ *)
+ TEXT_START_ADDR=0x100000
+ ;;
+esac
+
+# Treat a host that matches the target with the possible exception of "64"
+# and "v7", "v8", "v9" in the name as if it were native.
+if test `echo "$host" | sed -e 's/64//;s/v[789]//'` \
+ = `echo "$target" | sed -e 's/64//;s/v[789]//'`; then
+ case " $EMULATION_LIBPATH " in
+ *" ${EMULATION_NAME} "*)
+ NATIVE=yes
+ ;;
+ esac
+fi
+
+# Linux and Solaris modify the default library search path
+# to first include a 64-bit specific directory. It's put
+# in slightly different places on the two systems.
+# Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first
+# on Linux and /lib/sparcv9, /usr/lib/sparcv9 etc. on Solaris.
+case "$EMULATION_NAME" in
+ *64*)
+ case "$target" in
+ sparc*-linux*)
+ LIBPATH_SUFFIX=64 ;;
+ sparc*-solaris*)
+ LIBPATH_SUFFIX=/sparcv9 ;;
+ esac
+ ;;
+esac
Index: elf64mmix.sh
===================================================================
--- elf64mmix.sh (nonexistent)
+++ elf64mmix.sh (revision 816)
@@ -0,0 +1,57 @@
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+ELFSIZE=64
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf64-mmix"
+ENTRY=_start.
+
+# Default to 0 as mmixal does.
+TEXT_START_ADDR='DEFINED (__.MMIX.start..text) ? __.MMIX.start..text : 0'
+# Don't add SIZEOF_HEADERS.
+# Don't set EMBEDDED, that would be misleading; it's not that kind of system.
+TEXT_BASE_ADDRESS=$TEXT_START_ADDR
+DATA_ADDR='DEFINED (__.MMIX.start..data) ? __.MMIX.start..data : 0x2000000000000000'
+
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=mmix
+MACHINE=
+COMPILE_IN=yes
+EXTRA_EM_FILE=mmixelf
+
+# The existence of a symbol __start (or _start) should overrule Main, so
+# it can be a user symbol without the associated mmixal magic. We
+# also want to provide Main as a synonym for _start, if Main wasn't
+# defined but is referred to, and _start was defined.
+#
+# The reason we use a symbol "_start." as a mediator is to avoid
+# causing ld to force the type of _start to object rather than no
+# type, which confuses disassembly; we also make it alphanumerically
+# a successor of _start for similar reasons. Perhaps it's a linker
+# bug that linker-defined symbols set the symbol-type.
+#
+# Note that we smuggle this into OTHER_TEXT_SECTIONS (at the end
+# of .text) rather than TEXT_START_SYMBOLS. This is necessary, as
+# DEFINED wouldn't find the symbol if it was at the top; presumably
+# before the definition, if the definition is not in the first file.
+# FIXME: Arguably a linker bug.
+OTHER_TEXT_SECTIONS='
+ _start. = (DEFINED (_start) ? _start
+ : (DEFINED (Main) ? Main : (DEFINED (.text) ? .text : 0)));
+ PROVIDE (Main = DEFINED (Main) ? Main : (DEFINED (_start) ? _start : _start.));
+'
+
+OTHER_SECTIONS='
+ .MMIX.reg_contents :
+ {
+ /* Note that this section always has a fixed VMA - that of its
+ first register * 8. */
+ *(.MMIX.reg_contents.linker_allocated);
+ *(.MMIX.reg_contents);
+ }
+'
+
+# FIXME: Also bit by the PROVIDE bug? If not, this could be
+# EXECUTABLE_SYMBOLS.
+# By default, put the high end of the stack where the register stack
+# begins. They grow in opposite directions. */
+OTHER_SYMBOLS="PROVIDE (__Stack_start = 0x6000000000000000);"
Index: elf32mt.sh
===================================================================
--- elf32mt.sh (nonexistent)
+++ elf32mt.sh (revision 816)
@@ -0,0 +1,26 @@
+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
+ARCH=mt
+ENTRY=_start
+EMBEDDED=yes
+ELFSIZE=32
+MAXPAGESIZE=256
+# This is like setting STACK_ADDR to 0x0073FFFF0, except that the setting can
+# be overridden, e.g. --defsym _stack=0x0f00, and that we put an extra
+# sentinal value at the bottom.
+# N.B. We can't use PROVIDE to set the default value in a symbol because
+# the address is needed to place the .stack section, which in turn is needed
+# to hold the sentinel value(s).
+test -z "$CREATE_SHLIB" && OTHER_SECTIONS=" .stack ${RELOCATING-0}${RELOCATING+(DEFINED(__stack) ? __stack : 0x007FFFF0)} :
+ {
+ ${RELOCATING+__stack = .;}
+ *(.stack)
+ LONG(0xdeaddead)
+ }"
+# We do not need .stack for shared library.
+test -n "$CREATE_SHLIB" && OTHER_SECTIONS=""
Index: h8300self.sh
===================================================================
--- h8300self.sh (nonexistent)
+++ h8300self.sh (revision 816)
@@ -0,0 +1,3 @@
+. ${srcdir}/emulparams/h8300elf.sh
+ARCH="h8300:h8300s"
+STACK_ADDR=0x2fefc
Index: avr5.sh
===================================================================
--- avr5.sh (nonexistent)
+++ avr5.sh (revision 816)
@@ -0,0 +1,11 @@
+ARCH=avr:5
+MACHINE=
+SCRIPT_NAME=avr
+OUTPUT_FORMAT="elf32-avr"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=elf32
+
+TEXT_LENGTH=128K
+DATA_LENGTH=0xffa0
+EXTRA_EM_FILE=avrelf
Index: elf32btsmipn32.sh
===================================================================
--- elf32btsmipn32.sh (nonexistent)
+++ elf32btsmipn32.sh (revision 816)
@@ -0,0 +1,15 @@
+# If you change this file, please also look at files which source this one:
+# elf32ltsmipn32.sh
+
+. ${srcdir}/emulparams/elf32bmipn32-defs.sh
+OUTPUT_FORMAT="elf32-ntradbigmips"
+BIG_OUTPUT_FORMAT="elf32-ntradbigmips"
+LITTLE_OUTPUT_FORMAT="elf32-ntradlittlemips"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+
+# Magic sections.
+OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'
+OTHER_SECTIONS='
+ .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
+ .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
+'
Index: shlelf.sh
===================================================================
--- shlelf.sh (nonexistent)
+++ shlelf.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/shelf.sh
+OUTPUT_FORMAT="elf32-shl"
Index: h8300hnelf.sh
===================================================================
--- h8300hnelf.sh (nonexistent)
+++ h8300hnelf.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/h8300elf.sh
+ARCH="h8300:h8300hn"
Index: shelf64_nbsd.sh
===================================================================
--- shelf64_nbsd.sh (nonexistent)
+++ shelf64_nbsd.sh (revision 816)
@@ -0,0 +1,8 @@
+. ${srcdir}/emulparams/shelf32_nbsd.sh
+
+OUTPUT_FORMAT="elf64-sh64-nbsd"
+ELFSIZE=64
+
+# We do not need .cranges
+OTHER_SECTIONS=''
+EXTRA_EM_FILE=
Index: h8300hn.sh
===================================================================
--- h8300hn.sh (nonexistent)
+++ h8300hn.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8300hn
+OUTPUT_FORMAT="coff-h8300"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8300
Index: elf32btsmip.sh
===================================================================
--- elf32btsmip.sh (nonexistent)
+++ elf32btsmip.sh (revision 816)
@@ -0,0 +1,10 @@
+# If you change this file, please also look at files which source this one:
+# elf32ltsmip.sh
+
+. ${srcdir}/emulparams/elf32bmip.sh
+OUTPUT_FORMAT="elf32-tradbigmips"
+BIG_OUTPUT_FORMAT="elf32-tradbigmips"
+LITTLE_OUTPUT_FORMAT="elf32-tradlittlemips"
+unset DATA_ADDR
+SHLIB_TEXT_START_ADDR=0
+ENTRY=__start
Index: elf32ppclinux.sh
===================================================================
--- elf32ppclinux.sh (nonexistent)
+++ elf32ppclinux.sh (revision 816)
@@ -0,0 +1,8 @@
+. ${srcdir}/emulparams/elf32ppc.sh
+TEXT_START_ADDR=0x10000000
+unset EXECUTABLE_SYMBOLS
+unset OTHER_END_SYMBOLS
+test -z "${RELOCATING}" || OTHER_SECTIONS="/DISCARD/ : { *(.fixup) }"
+OTHER_RELRO_SECTIONS="
+ .got1 ${RELOCATING-0} : { *(.got1) }
+ .got2 ${RELOCATING-0} : { *(.got2) }"
Index: i386nw.sh
===================================================================
--- i386nw.sh (nonexistent)
+++ i386nw.sh (revision 816)
@@ -0,0 +1,8 @@
+SCRIPT_NAME=nw
+OUTPUT_FORMAT="elf32-i386"
+TEXT_START_ADDR=0x08000000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=i386
+NOP=0x90909090
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
Index: elf64btsmip.sh
===================================================================
--- elf64btsmip.sh (nonexistent)
+++ elf64btsmip.sh (revision 816)
@@ -0,0 +1,16 @@
+# If you change this file, please also look at files which source this one:
+# elf64ltsmip.sh
+
+. ${srcdir}/emulparams/elf64bmip-defs.sh
+OUTPUT_FORMAT="elf64-tradbigmips"
+BIG_OUTPUT_FORMAT="elf64-tradbigmips"
+LITTLE_OUTPUT_FORMAT="elf64-tradlittlemips"
+
+# Magic sections.
+OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'
+OTHER_SECTIONS='
+ .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
+ .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
+'
+
+TEXT_START_ADDR="0x120000000"
Index: hppanbsd.sh
===================================================================
--- hppanbsd.sh (nonexistent)
+++ hppanbsd.sh (revision 816)
@@ -0,0 +1,6 @@
+# If you change this file, please also look at files which source this one:
+# hppaobsd.sh
+
+. ${srcdir}/emulparams/hppalinux.sh
+
+OUTPUT_FORMAT="elf32-hppa-netbsd"
Index: pjelf.sh
===================================================================
--- pjelf.sh (nonexistent)
+++ pjelf.sh (revision 816)
@@ -0,0 +1,7 @@
+SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-pj"
+TEXT_START_ADDR=0x1000000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=pj
Index: elf32ltsmip.sh
===================================================================
--- elf32ltsmip.sh (nonexistent)
+++ elf32ltsmip.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/elf32btsmip.sh
+OUTPUT_FORMAT="elf32-tradlittlemips"
Index: gld960.sh
===================================================================
--- gld960.sh (nonexistent)
+++ gld960.sh (revision 816)
@@ -0,0 +1,7 @@
+SCRIPT_NAME=i960
+OUTPUT_FORMAT=""
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=128
+ARCH=i960
+TEMPLATE_NAME=gld960
+GLD_STYLE=1
Index: elf32mipswindiss.sh
===================================================================
--- elf32mipswindiss.sh (nonexistent)
+++ elf32mipswindiss.sh (revision 816)
@@ -0,0 +1,27 @@
+TEMPLATE_NAME=elf32
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-bigmips"
+BIG_OUTPUT_FORMAT="elf32-bigmips"
+LITTLE_OUTPUT_FORMAT="elf32-littlemips"
+ARCH=mips
+MACHINE=
+EMBEDDED=yes
+MAXPAGESIZE=0x40000
+
+# The data below is taken from the windiss.dld linker script that comes with
+# the Diab linker.
+TEXT_START_ADDR=0x100000
+DATA_START_SYMBOLS='__DATA_ROM = .; __DATA_RAM = .;'
+SDATA_START_SYMBOLS='_SDA_BASE_ = .; _gp = . + 0x7ff0;'
+SDATA2_START_SYMBOLS='_SDA2_BASE_ = .;'
+EXECUTABLE_SYMBOLS='__HEAP_START = .; __SP_INIT = 0x800000; __SP_END = __SP_INIT - 0x20000; __HEAP_END = __SP_END; __DATA_END = _edata; __BSS_START = __bss_start; __BSS_END = _end; __HEAP_START = _end;'
+
+# The Diab tools use a different init/fini convention. Initialization code
+# is place in sections named ".init$NN". These sections are then concatenated
+# into the .init section. It is important that .init$00 be first and .init$99
+# be last. The other sections should be sorted, but the current linker script
+# parse does not seem to allow that with the SORT keyword in this context.
+INIT_START='*(.init$00); *(.init$0[1-9]); *(.init$[1-8][0-9]); *(.init$9[0-8])'
+INIT_END='*(.init$99)'
+FINI_START='*(.fini$00); *(.fini$0[1-9]); *(.fini$[1-8][0-9]); *(.fini$9[0-8])'
+FINI_END='*(.fini$99)'
Index: m32rlelf_linux.sh
===================================================================
--- m32rlelf_linux.sh (nonexistent)
+++ m32rlelf_linux.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/m32relf_linux.sh
+OUTPUT_FORMAT="elf32-m32rle-linux"
Index: ppcmacos.sh
===================================================================
--- ppcmacos.sh (nonexistent)
+++ ppcmacos.sh (revision 816)
@@ -0,0 +1,6 @@
+TEMPLATE_NAME=aix
+SCRIPT_NAME=aix
+OUTPUT_FORMAT="xcoff-powermac"
+OUTPUT_FORMAT_32BIT="xcoff-powermac"
+OUTPUT_FORMAT_64BIT="xcoff-powermac"
+ARCH=powerpc
Index: elf32iq2000.sh
===================================================================
--- elf32iq2000.sh (nonexistent)
+++ elf32iq2000.sh (revision 816)
@@ -0,0 +1,16 @@
+MACHINE=
+SCRIPT_NAME=iq2000
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-iq2000"
+DATA_ADDR=0x1000
+TEXT_START_ADDR=0x80000000
+ARCH=iq2000
+MAXPAGESIZE=256
+ENTRY=_start
+EMBEDDED=yes
+CTOR_START='__ctors = .;'
+CTOR_END='__ctors_end = .;'
+DTOR_START='__dtors = .;'
+DTOR_END='__dtors_end = .;'
+OTHER_RELOCATING_SECTIONS='PROVIDE (__stack = 0x1800);'
elf32iq2000.sh
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: armelfb_linux_eabi.sh
===================================================================
--- armelfb_linux_eabi.sh (nonexistent)
+++ armelfb_linux_eabi.sh (revision 816)
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/armelf_linux_eabi.sh
+OUTPUT_FORMAT="elf32-bigarm"
Index: elf64ltsmip.sh
===================================================================
--- elf64ltsmip.sh (nonexistent)
+++ elf64ltsmip.sh (revision 816)
@@ -0,0 +1,4 @@
+. ${srcdir}/emulparams/elf64btsmip.sh
+OUTPUT_FORMAT="elf64-tradlittlemips"
+BIG_OUTPUT_FORMAT="elf64-tradbigmips"
+LITTLE_OUTPUT_FORMAT="elf64-tradlittlemips"
Index: elf32cr16c.sh
===================================================================
--- elf32cr16c.sh (nonexistent)
+++ elf32cr16c.sh (revision 816)
@@ -0,0 +1,5 @@
+SCRIPT_NAME=elf32cr16c
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf32-cr16c"
+ARCH=cr16c
+ENTRY=_start
Index: m68hc11elfb.sh
===================================================================
--- m68hc11elfb.sh (nonexistent)
+++ m68hc11elfb.sh (revision 816)
@@ -0,0 +1,12 @@
+MACHINE=
+SCRIPT_NAME=elfm68hc11
+OUTPUT_FORMAT="elf32-m68hc11"
+TEXT_MEMORY=text
+DATA_MEMORY=data
+EEPROM_MEMORY=eeprom
+ARCH=m68hc11
+MAXPAGESIZE=32
+GENERIC_BOARD=yes
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=m68hc1xelf
+
Index: shlelf32.sh
===================================================================
--- shlelf32.sh (nonexistent)
+++ shlelf32.sh (revision 816)
@@ -0,0 +1,2 @@
+OUTPUT_FORMAT="elf32-sh64l"
+. ${srcdir}/emulparams/shelf32.sh
Index: lnk960.sh
===================================================================
--- lnk960.sh (nonexistent)
+++ lnk960.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=i960
+OUTPUT_FORMAT=""
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=128
+ARCH=i960
+TEMPLATE_NAME=lnk960
Index: i386go32.sh
===================================================================
--- i386go32.sh (nonexistent)
+++ i386go32.sh (revision 816)
@@ -0,0 +1,10 @@
+SCRIPT_NAME=i386go32
+OUTPUT_FORMAT="coff-go32"
+TEXT_START_ADDR=0x10a8
+TARGET_PAGE_SIZE=0x1000
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0 ;;
+esac
+SEGMENT_SIZE=0x200
+ARCH=i386
+
Index: elf_x86_64.sh
===================================================================
--- elf_x86_64.sh (nonexistent)
+++ elf_x86_64.sh (revision 816)
@@ -0,0 +1,36 @@
+SCRIPT_NAME=elf
+ELFSIZE=64
+OUTPUT_FORMAT="elf64-x86-64"
+TEXT_START_ADDR=0x400000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+ARCH="i386:x86-64"
+MACHINE=
+NOP=0x90909090
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+NO_SMALL_DATA=yes
+LARGE_SECTIONS=yes
+SEPARATE_GOTPLT=24
+
+if [ "x${host}" = "x${target}" ]; then
+ case " $EMULATION_LIBPATH " in
+ *" ${EMULATION_NAME} "*)
+ NATIVE=yes
+ esac
+fi
+
+# Linux/Solaris modify the default library search path to first include
+# a 64-bit specific directory.
+case "$target" in
+ x86_64*-linux*|i[3-7]86-*-linux-*)
+ case "$EMULATION_NAME" in
+ *64*) LIBPATH_SUFFIX=64 ;;
+ esac
+ ;;
+ *-*-solaris2*)
+ LIBPATH_SUFFIX=/amd64
+ ELF_INTERPRETER_NAME=\"/lib/amd64/ld.so.1\"
+ ;;
+esac
Index: sun3.sh
===================================================================
--- sun3.sh (nonexistent)
+++ sun3.sh (revision 816)
@@ -0,0 +1,10 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-sunos-big"
+TEXT_START_ADDR=0x2020
+case ${LD_FLAG} in
+ n|N) TEXT_START_ADDR=0x2000 ;;
+esac
+TARGET_PAGE_SIZE=0x2000
+SEGMENT_SIZE=0x20000
+ARCH=m68k
+TEMPLATE_NAME=sunos
Index: elf32ebmip.sh
===================================================================
--- elf32ebmip.sh (nonexistent)
+++ elf32ebmip.sh (revision 816)
@@ -0,0 +1,2 @@
+EMBEDDED=yes
+. ${srcdir}/emulparams/elf32bmip.sh
Index: elf32l4300.sh
===================================================================
--- elf32l4300.sh (nonexistent)
+++ elf32l4300.sh (revision 816)
@@ -0,0 +1,4 @@
+. ${srcdir}/emulparams/elf32b4300.sh
+OUTPUT_FORMAT="elf32-littlemips"
+BIG_OUTPUT_FORMAT="elf32-bigmips"
+LITTLE_OUTPUT_FORMAT="elf32-littlemips"
Index: elf64_s390.sh
===================================================================
--- elf64_s390.sh (nonexistent)
+++ elf64_s390.sh (revision 816)
@@ -0,0 +1,34 @@
+SCRIPT_NAME=elf
+ELFSIZE=64
+OUTPUT_FORMAT="elf64-s390"
+TEXT_START_ADDR=0x80000000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+ARCH="s390:64-bit"
+MACHINE=
+NOP=0x07070707
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+NO_SMALL_DATA=yes
+
+# Treat a host that matches the target with the possible exception of "x"
+# in the name as if it were native.
+if test `echo "$host" | sed -e s/390x/390/` \
+ = `echo "$target" | sed -e s/390x/390/`; then
+ case " $EMULATION_LIBPATH " in
+ *" ${EMULATION_NAME} "*)
+ NATIVE=yes
+ esac
+fi
+
+# Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first
+# on Linux.
+case "$target" in
+ s390*-linux*)
+ case "$EMULATION_NAME" in
+ *64*)
+ LIBPATH_SUFFIX=64 ;;
+ esac
+ ;;
+esac
Index: i386msdos.sh
===================================================================
--- i386msdos.sh (nonexistent)
+++ i386msdos.sh (revision 816)
@@ -0,0 +1,6 @@
+SCRIPT_NAME=i386msdos
+OUTPUT_FORMAT="msdos"
+TEXT_START_ADDR=0x0
+SEGMENT_SIZE=0x10
+PAD_TEXT=t
+ARCH=i386
Index: mipsbsd.sh
===================================================================
--- mipsbsd.sh (nonexistent)
+++ mipsbsd.sh (revision 816)
@@ -0,0 +1,7 @@
+SCRIPT_NAME=mipsbsd
+OUTPUT_FORMAT="a.out-mips-little"
+BIG_OUTPUT_FORMAT="a.out-mips-big"
+LITTLE_OUTPUT_FORMAT="a.out-mips-little"
+TEXT_START_ADDR=0x1020
+TARGET_PAGE_SIZE=4096
+ARCH=mips
Index: v850.sh
===================================================================
--- v850.sh (nonexistent)
+++ v850.sh (revision 816)
@@ -0,0 +1,15 @@
+MACHINE=
+SCRIPT_NAME=v850
+OUTPUT_FORMAT="elf32-v850"
+TEXT_START_ADDR=0x100000
+ZDATA_START_ADDR=0x160
+ROZDATA_START_ADDR="ALIGN (4)"
+SDATA_START_ADDR="ALIGN (4)"
+ROSDATA_START_ADDR="ALIGN (4)"
+TDATA_START_ADDR="ALIGN (4)"
+CALL_TABLE_START_ADDR="ALIGN (4)"
+ARCH=v850
+MAXPAGESIZE=256
+ENTRY=_start
+EMBEDDED=yes
+TEMPLATE_NAME=elf32