Add new port: crx-elf
[deliverable/binutils-gdb.git] / ld / scripttempl / elf32crx.sc
CommitLineData
1fe1f39c
NC
1# Linker Script for National Semiconductor's CRX-ELF32.
2
3# The next line should be uncommented if it is desired to link
4# without libstart.o and directly enter main.
5
6# ENTRY=_main
7
8test -z "$ENTRY" && ENTRY=_start
9cat <<EOF
10
11/* Example Linker Script for linking NS CRX elf32 files. */
12
13/* The next line forces the entry point (${ENTRY} in this script)
14 to be entered in the output file as an undefined symbol.
15 It is needed in case the entry point is not called explicitly
16 (which is the usual case) AND is in an archive. */
17
18OUTPUT_FORMAT("${OUTPUT_FORMAT}")
19OUTPUT_ARCH(${ARCH})
20EXTERN(${ENTRY})
21ENTRY(${ENTRY})
22
23/* Define memory regions. */
24MEMORY
25{
26 rom : ORIGIN = 0x2, LENGTH = 3M
27 ram : ORIGIN = 4M, LENGTH = 10M
28}
29
30SECTIONS
31{
32 .text : { __TEXT_START = .; *(.text) *(.text.*) *(.gnu.linkonce.t.*) __TEXT_END = .; } > rom
33
34 .rdata : { __RDATA_START = .; *(.rdata_4) *(.rdata_2) *(.rdata_1) *(.rdata.*) *(.gnu.linkonce.r.*) __RDATA_END = .; } > rom
35
36 .ctor ALIGN(4) : { __CTOR_LIST = .; *(.ctors) __CTOR_END = .; } > rom
37
38 .dtor ALIGN(4) : { __DTOR_LIST = .; *(.dtors) __DTOR_END = .; } > rom
39
40 .data : { __DATA_START = .; *(.data_4) *(.data_2) *(.data_1) *(.data) *(.data.*) *(.gnu.linkonce.d.*) __DATA_END = .; } > ram AT > rom
41
42 .bss (NOLOAD) : { __BSS_START = .; *(.bss_4) *(.bss_2) *(.bss_1) *(.bss) *(COMMON) *(.bss.*) *(.gnu.linkonce.b.*) __BSS_END = .; } > ram
43
44/* You may change the sizes of the following sections to fit the actual
45 size your program requires.
46
47 The heap and stack are aligned to the bus width, as a speed optimization
48 for accessing data located there. */
49
50 .heap : { . = ALIGN(4); __HEAP_START = .; . += 0x2000; __HEAP_MAX = .; } > ram
51 .stack : { . = ALIGN(4); . += 0x6000; __STACK_START = .; } > ram
52 .istack : { . = ALIGN(4); . += 0x100; __ISTACK_START = .; } > ram
53}
54
55__DATA_IMAGE_START = LOADADDR(.data);
56EOF
This page took 0.025003 seconds and 4 git commands to generate.