| # If you change this file, please also look at files which source this one: |
| # shelf32_linux.sh |
| |
| SCRIPT_NAME=elf |
| OUTPUT_FORMAT="elf32-sh64-linux" |
| NO_REL_RELOCS=yes |
| TEXT_START_ADDR=0x400000 |
| MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" |
| COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" |
| ARCH=sh |
| MACHINE=sh5 |
| ALIGNMENT=8 |
| TEMPLATE_NAME=elf32 |
| GENERATE_SHLIB_SCRIPT=yes |
| GENERATE_PIE_SCRIPT=yes |
| |
| |
| 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. |
| OTHER_READONLY_SECTIONS=' |
| PROVIDE (___rodata = DEFINED (.rodata) ? .rodata : 0); |
| . = ALIGN (8); |
| ' |
| |
| # Make _edata and .bss aligned by smuggling in an alignment directive. |
| OTHER_GOT_SECTIONS='. = ALIGN (8);' |
| |
| CTOR_START='___ctors = .;' |
| CTOR_END='___ctors_end = .;' |
| DTOR_START='___dtors = .;' |
| 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" && 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. |
| EXTRA_EM_FILE=${EXTRA_EM_FILE-sh64elf} |