1# If you change this file, please also look at files which source this one:
2# shlelf.sh, shelf_nbsd.sh
3
4SCRIPT_NAME=elf
5OUTPUT_FORMAT="elf32-sh"
6TEXT_START_ADDR=0x1000
7MAXPAGESIZE=128
8ARCH=sh
9MACHINE=
10TEMPLATE_NAME=elf32
11GENERATE_SHLIB_SCRIPT=yes
12EMBEDDED=yes
13
14# These are for compatibility with the COFF toolchain.
15ENTRY=start
16CTOR_START='___ctors = .;'
17CTOR_END='___ctors_end = .;'
18DTOR_START='___dtors = .;'
19DTOR_END='___dtors_end = .;'
20# This is like setting STACK_ADDR to 0x300000, except that the setting can
21# be overridden, e.g. --defsym _stack=0x0f00, and that we put an extra
22# sentinal value at the bottom.
23# N.B. We can't use PROVIDE to set the default value in a symbol because
24# the address is needed to place the .stack section, which in turn is needed
25# to hold the sentinel value(s).
26test -z "$CREATE_SHLIB" && OTHER_SECTIONS="  .stack        ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : 0x300000)} :
27  {
28    ${RELOCATING+_stack = .;}
29    *(.stack)
30    LONG(0xdeaddead)
31  }"
32# We do not need .stack for shared library.
33test -n "$CREATE_SHLIB" && OTHER_SECTIONS=""
34