| 1 | # Note: this parameter script is sourced by the other | 
|---|
| 2 | # sh[l]elf(32|64).sh parameter scripts. | 
|---|
| 3 | SCRIPT_NAME=elf | 
|---|
| 4 | OUTPUT_FORMAT=${OUTPUT_FORMAT-"elf32-sh64"} | 
|---|
| 5 | TEXT_START_ADDR=0x1000 | 
|---|
| 6 | STACK_ADDR='ALIGN (0x40000) + 0x40000' | 
|---|
| 7 | MAXPAGESIZE=128 | 
|---|
| 8 | ARCH=sh | 
|---|
| 9 | MACHINE=sh5 | 
|---|
| 10 | ALIGNMENT=8 | 
|---|
| 11 | TEMPLATE_NAME=elf32 | 
|---|
| 12 | GENERATE_SHLIB_SCRIPT=yes | 
|---|
| 13 | EMBEDDED=yes | 
|---|
| 14 |  | 
|---|
| 15 | DATA_START_SYMBOLS='PROVIDE (___data = .);' | 
|---|
| 16 |  | 
|---|
| 17 | # If data is located right after .text (not explicitly specified), | 
|---|
| 18 | # then we need to align it to an 8-byte boundary. | 
|---|
| 19 | OTHER_READONLY_SECTIONS=' | 
|---|
| 20 | PROVIDE (___rodata = DEFINED (.rodata) ? .rodata : 0); | 
|---|
| 21 | . = ALIGN (8); | 
|---|
| 22 | ' | 
|---|
| 23 |  | 
|---|
| 24 | # Make _edata and .bss aligned by smuggling in an alignment directive. | 
|---|
| 25 | OTHER_GOT_SECTIONS='. = ALIGN (8);' | 
|---|
| 26 |  | 
|---|
| 27 | # These are for compatibility with the COFF toolchain. | 
|---|
| 28 | ENTRY=start | 
|---|
| 29 | CTOR_START='___ctors = .;' | 
|---|
| 30 | CTOR_END='___ctors_end = .;' | 
|---|
| 31 | DTOR_START='___dtors = .;' | 
|---|
| 32 | DTOR_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 "}". | 
|---|
| 37 | OTHER_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. | 
|---|
| 43 | EXTRA_EM_FILE=${EXTRA_EM_FILE-sh64elf} | 
|---|