comparison packages/hal/mn10300/sim/current/src/sim.ld @ 0:3111d98ba7b3 ecos-v1_1-release

Initial commit of eCos version 1.1
author jlarmour
date Tue, 11 May 1999 11:16:07 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:3111d98ba7b3
1 STARTUP(vectors.o)
2 ENTRY(reset_vector)
3
4 GROUP(libtarget.a libgcc.a)
5
6 #include <pkgconf/hal.h>
7
8 #define LOAD_BASE 0x40000000
9 #define DATA_BASE
10
11 SECTIONS
12 {
13
14 /* Start of ROM */
15 . = LOAD_BASE;
16
17 .rom_vectors :
18 {
19 KEEP(*(.vectors))
20 }
21
22 .text :
23 {
24 _stext = .;
25 *(.text*)
26 *(.gnu.warning)
27 *(.gnu.linkonce*)
28 *(.init)
29
30 }
31 _etext = .;
32 PROVIDE (etext = .);
33 .fini : { *(.fini) }
34 .rodata : { *(.rodata*) }
35 .rodata1 : { *(.rodata1) }
36 .fixup : { *(.fixup) }
37 .gcc_except_table : { *(.gcc_except_table) }
38
39 __rom_data_start = ALIGN(4);
40 .data DATA_BASE :
41 AT( __rom_data_start )
42 {
43 __ram_data_start = .;
44 *(.data*)
45 *(.data1)
46 _GOT1_START_ = .;
47 *(.got1)
48 _GOT1_END_ = .;
49 /* Put .ctors and .dtors next to the .got2 section, so that the pointers
50 get relocated with -mrelocatable. */
51 _GOT2_START_ = .;
52 *(.got2)
53 _GOT2_END_ = .;
54 . = ALIGN(4);
55 #ifdef CYG_KERNEL_USE_INIT_PRIORITY
56 __CTOR_LIST__ = .;
57 KEEP(*(SORT(.ctors*)))
58 __CTOR_END__ = .;
59 __DTOR_LIST__ = .;
60 KEEP(*(SORT(.dtors*)))
61 __DTOR_END__ = .;
62 #else
63 __CTOR_LIST__ = .;
64 KEEP(*sched.o(.ctors*))
65 KEEP(*clock.o(.ctors*))
66 KEEP(*thread.o(.ctors*))
67 KEEP(*(.ctors*))
68 __CTOR_END__ = .;
69 __DTOR_LIST__ = .;
70 KEEP(*(.dtors))
71 __DTOR_END__ = .;
72 #endif
73 _GOT_START_ = .;
74 _GLOBAL_OFFSET_TABLE_ = . + 32768;
75 _SDA_BASE_ = .;
76 *(.got.plt)
77 *(.got)
78 _GOT_END_ = .;
79 *(.dynamic)
80 /* We want the small data sections together, so single-instruction offsets
81 can access them all, and initialized data all before uninitialized, so
82 we can shorten the on-disk segment size. */
83 *(.sdata*)
84 *(.sbss*)
85 }
86 __ram_data_end = .;
87 PROVIDE( __ram_data_end = .);
88 _edata = .;
89 PROVIDE (edata = .);
90 . = ALIGN(4);
91 __bss_start = .;
92 .bss :
93 {
94 *(.scommon)
95 *(.dynbss)
96 *(.bss)
97 *(COMMON)
98 }
99 . = ALIGN(4);
100 _end = . ;
101 PROVIDE (end = .);
102
103 }
104
105 _mn10300_interrupt_control = 0x34000100;
106 _mn10300_interrupt_vectors = 0x20000000;