# If you change this file, please also look at files which source this one: # shelf32_linux.sh setvar SCRIPT_NAME = 'elf' setvar OUTPUT_FORMAT = ""elf32-sh64-linux"" setvar NO_REL_RELOCS = 'yes' setvar TEXT_START_ADDR = '0x400000' setvar MAXPAGESIZE = ""CONSTANT (MAXPAGESIZE)"" setvar COMMONPAGESIZE = ""CONSTANT (COMMONPAGESIZE)"" setvar ARCH = 'sh' setvar MACHINE = 'sh5' setvar ALIGNMENT = '8' setvar TEMPLATE_NAME = 'elf32' setvar GENERATE_SHLIB_SCRIPT = 'yes' setvar GENERATE_PIE_SCRIPT = 'yes' setvar DATA_START_SYMBOLS = ''PROVIDE (___data = .);'' # If data is located right after .text (not explicitly specified), # then we need to align it to an 8-byte boundary. setvar OTHER_READONLY_SECTIONS = '' PROVIDE (___rodata = DEFINED (.rodata) ? .rodata : 0); . = ALIGN (8); '' # Make _edata and .bss aligned by smuggling in an alignment directive. setvar OTHER_GOT_SECTIONS = ''. = ALIGN (8);'' setvar CTOR_START = ''___ctors = .;'' setvar CTOR_END = ''___ctors_end = .;'' setvar DTOR_START = ''___dtors = .;'' setvar DTOR_END = ''___dtors_end = .;'' # Do not use the varname=${varname-'string'} construct here; there are # problems with that on some shells (e.g. on Solaris) where there is a bug # that trigs when $varname contains a "}". test -z $OTHER_RELOCATING_SECTIONS && setvar OTHER_RELOCATING_SECTIONS = '' .cranges 0 : { *(.cranges) } '' # We need to adjust sizes in the .cranges section after relaxation, so # we need an after_allocation function, and it goes in this file. setvar EXTRA_EM_FILE = ${EXTRA_EM_FILE-sh64elf}