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