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" 6NO_REL_RELOCS=yes 7TEXT_START_ADDR=0x400000 8MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" 9COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" 10ARCH=sh 11MACHINE=sh5 12ALIGNMENT=8 13TEMPLATE_NAME=elf32 14GENERATE_SHLIB_SCRIPT=yes 15GENERATE_PIE_SCRIPT=yes 16# PR 17739. Delay checking relocs until after all files have 17# been opened and linker garbage collection has taken place. 18CHECK_RELOCS_AFTER_OPEN_INPUT=yes 19 20DATA_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. 24OTHER_READONLY_SECTIONS=' 25PROVIDE (___rodata = DEFINED (.rodata) ? .rodata : 0); 26. = ALIGN (8); 27' 28 29# Make _edata and .bss aligned by smuggling in an alignment directive. 30OTHER_GOT_SECTIONS='. = ALIGN (8);' 31 32CTOR_START='___ctors = .;' 33CTOR_END='___ctors_end = .;' 34DTOR_START='___dtors = .;' 35DTOR_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 "}". 40test -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. 46EXTRA_EM_FILE=${EXTRA_EM_FILE-sh64elf} 47