OpenCores
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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.