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