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