Home | History | Annotate | Download | only in emulparams
      1 # If you change this file, please also look at files which source this one:
      2 # shelf32_linux.sh
      3 
      4 SCRIPT_NAME=elf
      5 OUTPUT_FORMAT="elf32-sh64-linux"
      6 NO_REL_RELOCS=yes
      7 TEXT_START_ADDR=0x400000
      8 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
      9 COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
     10 ARCH=sh
     11 MACHINE=sh5
     12 ALIGNMENT=8
     13 TEMPLATE_NAME=elf32
     14 GENERATE_SHLIB_SCRIPT=yes
     15 GENERATE_PIE_SCRIPT=yes
     16 
     17 
     18 DATA_START_SYMBOLS='PROVIDE (___data = .);'
     19 
     20 # If data is located right after .text (not explicitly specified),
     21 # then we need to align it to an 8-byte boundary.
     22 OTHER_READONLY_SECTIONS='
     23 PROVIDE (___rodata = DEFINED (.rodata) ? .rodata : 0);
     24 . = ALIGN (8);
     25 '
     26 
     27 # Make _edata and .bss aligned by smuggling in an alignment directive.
     28 OTHER_GOT_SECTIONS='. = ALIGN (8);'
     29 
     30 CTOR_START='___ctors = .;'
     31 CTOR_END='___ctors_end = .;'
     32 DTOR_START='___dtors = .;'
     33 DTOR_END='___dtors_end = .;'
     34 
     35 # Do not use the varname=${varname-'string'} construct here; there are
     36 # problems with that on some shells (e.g. on Solaris) where there is a bug
     37 # that trigs when $varname contains a "}".
     38 test -z "$OTHER_RELOCATING_SECTIONS" && OTHER_RELOCATING_SECTIONS='
     39  .cranges 0 : { *(.cranges) }
     40 '
     41 
     42 # We need to adjust sizes in the .cranges section after relaxation, so
     43 # we need an after_allocation function, and it goes in this file.
     44 EXTRA_EM_FILE=${EXTRA_EM_FILE-sh64elf}
     45