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 # PR 17739.  Delay checking relocs until after all files have
     17 # been opened and linker garbage collection has taken place.
     18 CHECK_RELOCS_AFTER_OPEN_INPUT=yes
     19 
     20 DATA_START_SYMBOLS='PROVIDE (___data = .);'
     21 
     22 # If data is located right after .text (not explicitly specified),
     23 # then we need to align it to an 8-byte boundary.
     24 OTHER_READONLY_SECTIONS='
     25 PROVIDE (___rodata = DEFINED (.rodata) ? .rodata : 0);
     26 . = ALIGN (8);
     27 '
     28 
     29 # Make _edata and .bss aligned by smuggling in an alignment directive.
     30 OTHER_GOT_SECTIONS='. = ALIGN (8);'
     31 
     32 CTOR_START='___ctors = .;'
     33 CTOR_END='___ctors_end = .;'
     34 DTOR_START='___dtors = .;'
     35 DTOR_END='___dtors_end = .;'
     36 
     37 # Do not use the varname=${varname-'string'} construct here; there are
     38 # problems with that on some shells (e.g. on Solaris) where there is a bug
     39 # that trigs when $varname contains a "}".
     40 test -z "$OTHER_RELOCATING_SECTIONS" && OTHER_RELOCATING_SECTIONS='
     41  .cranges 0 : { *(.cranges) }
     42 '
     43 
     44 # We need to adjust sizes in the .cranges section after relaxation, so
     45 # we need an after_allocation function, and it goes in this file.
     46 EXTRA_EM_FILE=${EXTRA_EM_FILE-sh64elf}
     47