CSKY: Change default linker script for elf toolchain.
[binutils-gdb.git] / ld / emulparams / cskyelf_linux.sh
1 SCRIPT_NAME=elf
2 OUTPUT_FORMAT="elf32-csky-little"
3 BIG_OUTPUT_FORMAT="elf32-csky-big"
4 LITTLE_OUTPUT_FORMAT="elf32-csky-little"
5 NO_REL_RELOCS=yes
6 TARGET_PAGE_SIZE=0x400
7 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
8 TEXT_START_ADDR=0x8000
9 CHECK_RELOCS_AFTER_OPEN_INPUT=yes
10 NONPAGED_TEXT_START_ADDR=0
11 ATTRS_SECTIONS='.csky.attributes 0 : { KEEP (*(.csky.attributes)) KEEP (*(.csky.attributes)) }'
12 ARCH=csky
13 EMBEDDED=yes
14 EXTRA_EM_FILE=cskyelf
15
16 # There is a problem with the NOP value - it must work for both
17 # big endian and little endian systems. Unfortunately there is
18 # no symmetrical mcore opcode that functions as a noop. The
19 # chosen solution is to use "tst r0, r14". This is a symmetrical
20 # value, and apart from the corruption of the C bit, it has no other
21 # side effects. Since the carry bit is never tested without being
22 # explicitly set first, and since the NOP code is only used as a
23 # fill value between independently viable pieces of code, it should
24 # not matter.
25 NOP=0
26
27 ENTRY=__start
28 OTHER_BSS_SYMBOLS="__bss_start__ = . ;"
29 OTHER_BSS_END_SYMBOLS="__bss_end__ = . ;"
30
31 # This sets the stack to the top of the simulator memory (2^19 bytes).
32 # STACK_ADDR=0x80000
33
34 TEMPLATE_NAME=elf
35
36
37 unset EMBEDDED
38 unset ENTRY
39 COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
40 GENERATE_SHLIB_SCRIPT=yes
41 GENERATE_PIE_SCRIPT=yes
42 GENERATE_SHLIB_SCRIPT=yes
43 GENERATE_COMBRELOC_SCRIPT=yes