annotate packages/hal/mips/tx39/current/src/mips_tx39.ld @ 16:4f2df4ab82c8 ecos-sw-1999-06-18

Merge from eCos master repository on 1999-06-18-15:25:04-BST
author jlarmour
date Fri, 18 Jun 1999 07:59:09 +0000
parents 4cc3eff958ab
children c38311975d4f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
1 //===========================================================================
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
2 //
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
3 // MLT linker script for MIPS TX39
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
4 //
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
5 //===========================================================================
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
6 //####COPYRIGHTBEGIN####
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
7 //
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
8 // -------------------------------------------
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
9 // The contents of this file are subject to the Cygnus eCos Public License
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
10 // Version 1.0 (the "License"); you may not use this file except in
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
11 // compliance with the License. You may obtain a copy of the License at
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
12 // http://sourceware.cygnus.com/ecos
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
13 //
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
14 // Software distributed under the License is distributed on an "AS IS"
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
15 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
16 // License for the specific language governing rights and limitations under
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
17 // the License.
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
18 //
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
19 // The Original Code is eCos - Embedded Cygnus Operating System, released
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
20 // September 30, 1998.
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
21 //
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
22 // The Initial Developer of the Original Code is Cygnus. Portions created
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
23 // by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions. All Rights Reserved.
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
24 // -------------------------------------------
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
25 //
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
26 //####COPYRIGHTEND####
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
27 //===========================================================================
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
28
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
29 #include <pkgconf/system.h>
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
30
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
31 STARTUP(vectors.o)
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
32 ENTRY(reset_vector)
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
33 #ifdef EXTRAS
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
34 INPUT(extras.o)
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
35 #endif
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
36 GROUP(libtarget.a libgcc.a)
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
37
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
38 #define ALIGN_LMA 8
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
39 #define FOLLOWING(_section_) AT ((LOADADDR (_section_) + SIZEOF (_section_) + ALIGN_LMA - 1) & ~ (ALIGN_LMA - 1))
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
40 #define LMA_EQ_VMA
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
41 #define FORCE_OUTPUT . = .
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
42
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
43 #define SECTIONS_BEGIN
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
44
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
45 #if defined(CYG_HAL_STARTUP_RAM)
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
46
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
47 /* this version for RAM startup */
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
48 #define SECTION_rom_vectors(_region_, _vma_, _lma_) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
49 .rom_vectors _vma_ : _lma_ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
50 { KEEP (*(.utlb_vector)) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
51 . = ALIGN(0x80); KEEP(*(.other_vector)) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
52 /* debug and reset vector not used in RAM version */ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
53 KEEP(*(.debug_vector)) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
54 KEEP (*(.reset_vector)) } \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
55 > _region_
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
56
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
57 #elif defined(CYG_HAL_STARTUP_ROM)
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
58
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
59 /* this version for ROM startup */
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
60 #define SECTION_rom_vectors(_region_, _vma_, _lma_) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
61 .rom_vectors _vma_ : _lma_ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
62 { KEEP (*(.reset_vector)) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
63 . = ALIGN(0x100); KEEP (*(.utlb_vector)) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
64 . = ALIGN(0x80); KEEP(*(.other_vector)) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
65 . = ALIGN(0x100); KEEP(*(.debug_vector)) } \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
66 > _region_
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
67
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
68 #endif /* ROM startup version of ROM vectors */
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
69
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
70 #define SECTION_text(_region_, _vma_, _lma_) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
71 .text _vma_ : _lma_ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
72 { _stext = ABSOLUTE(.); \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
73 *(.text*) *(.gnu.warning) *(.gnu.linkonce*) *(.init) } \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
74 > _region_ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
75 _etext = .; PROVIDE (etext = .);
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
76
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
77 #define SECTION_fini(_region_, _vma_, _lma_) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
78 .fini _vma_ : _lma_ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
79 { FORCE_OUTPUT; *(.fini) } \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
80 > _region_
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
81
12
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
82 #define SECTION_ctors(_region_, _vma_, _lma_) \
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
83 .ctors _vma_ : _lma_ \
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
84 { \
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
85 __CTOR_LIST__ = ABSOLUTE (.); \
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
86 KEEP(*(.ctors)) \
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
87 KEEP(*(SORT(.ctors.*))) \
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
88 __CTOR_END__ = ABSOLUTE (.); \
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
89 } > _region_
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
90
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
91 #define SECTION_dtors(_region_, _vma_, _lma_) \
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
92 .dtors _vma_ : _lma_ \
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
93 { \
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
94 __DTOR_LIST__ = ABSOLUTE (.); \
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
95 KEEP(*(SORT(.dtors.*))) \
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
96 KEEP(*(.dtors)) \
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
97 __DTOR_END__ = ABSOLUTE (.); \
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
98 } > _region_
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
99
6
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
100 #define SECTION_rodata(_region_, _vma_, _lma_) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
101 .rodata _vma_ : _lma_ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
102 { FORCE_OUTPUT; *(.rodata*) } \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
103 > _region_
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
104
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
105 #define SECTION_vsr_table(_region_, _vma_, _lma_) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
106 .vsr_table _vma_ : _lma_ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
107 { FORCE_OUTPUT; *(.vsr_table) } \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
108 > _region_
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
109
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
110 #define SECTION_rodata1(_region_, _vma_, _lma_) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
111 .rodata1 _vma_ : _lma_ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
112 { FORCE_OUTPUT; *(.rodata1) } \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
113 > _region_
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
114
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
115 #define SECTION_fixup(_region_, _vma_, _lma_) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
116 .fixup _vma_ : _lma_ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
117 { FORCE_OUTPUT; *(.fixup) } \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
118 > _region_
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
119
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
120 #define SECTION_rel__dyn(_region_, _vma_, _lma_) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
121 .rel.dyn _vma_ : _lma_ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
122 { FORCE_OUTPUT; *(.rel.dyn) } \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
123 > _region_
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
124
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
125 #define SECTION_gcc_except_table(_region_, _vma_, _lma_) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
126 .gcc_except_table _vma_ : _lma_ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
127 { FORCE_OUTPUT; *(.gcc_except_table) } \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
128 > _region_
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
129
12
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
130 /* FIXME: The SORT(CONSTRUCTORS) line below is for backwards compatibility
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
131 * with older (pre-99r1) toolchains
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
132 */
6
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
133 #define SECTION_data(_region_, _vma_, _lma_) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
134 .data _vma_ : _lma_ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
135 { __ram_data_start = ABSOLUTE (.); \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
136 *(.data*) *(.data1) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
137 _GOT1_START_ = ABSOLUTE (.); *(.got1) _GOT1_END_ = ABSOLUTE (.); \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
138 _GOT2_START_ = ABSOLUTE (.); *(.got2) _GOT2_END_ = ABSOLUTE (.); \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
139 . = ALIGN (8); \
12
4cc3eff958ab Merge from eCos master repository on 1999-06-04-22:24:56-BST
jlarmour
parents: 6
diff changeset
140 SORT (CONSTRUCTORS) \
6
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
141 . = ALIGN (8); \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
142 __DEVTAB__ = ABSOLUTE (.); KEEP (*(SORT (.devtab*))) __DEVTAB_END__ = ABSOLUTE (.); \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
143 . = ALIGN (8); \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
144 _GOT_START = ABSOLUTE (.); _gp = ABSOLUTE (.); __global = _gp; _GLOBAL_OFFSET_TABLE_ = ABSOLUTE (.); _SDA_BASE_ = ABSOLUTE (.); \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
145 *(.got.plt) *(.got) _GOT_END_ = ABSOLUTE (.); \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
146 *(.dynamic) *(.sdata*) *(.sbss*) *(.eh_frame) } \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
147 > _region_ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
148 __rom_data_start = LOADADDR (.data); \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
149 __ram_data_end = .; PROVIDE (__ram_data_end = .); _edata = .; PROVIDE (edata = .);
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
150
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
151 #define SECTION_bss(_region_, _vma_, _lma_) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
152 .bss _vma_ : _lma_ \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
153 { __bss_start = ABSOLUTE (.); \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
154 *(.scommon) *(.dynbss) *(.bss) *(COMMON) \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
155 __bss_end = ABSOLUTE (.); } \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
156 > _region_
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
157
16
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
158 // The /DISCARD/ section ensures that the output will not contain a
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
159 // .mdebug section as it confuses GDB. This is a workaround for CR 100804.
6
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
160 #define SECTIONS_END . = ALIGN(4); _end = .; PROVIDE (end = .); \
16
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
161 .debug 0 : { *(.debug) } \
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
162 .line 0 : { *(.line) } \
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
163 .debug_srcinfo 0 : { *(.debug_srcinfo) } \
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
164 .debug_sfnames 0 : { *(.debug_sfnames) } \
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
165 .debug_aranges 0 : { *(.debug_aranges) } \
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
166 .debug_pubnames 0 : { *(.debug_pubnames) } \
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
167 .debug_info 0 : { *(.debug_info) } \
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
168 .debug_abbrev 0 : { *(.debug_abbrev) } \
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
169 .debug_line 0 : { *(.debug_line) } \
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
170 .debug_frame 0 : { *(.debug_frame) } \
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
171 .debug_str 0 : { *(.debug_str) } \
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
172 .debug_loc 0 : { *(.debug_loc) } \
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
173 .debug_macinfo 0 : { *(.debug_macinfo) } \
6
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
174 .debug_weaknames 0 : { *(.debug_weaknames) } \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
175 .debug_funcnames 0 : { *(.debug_funcnames) } \
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
176 .debug_typenames 0 : { *(.debug_typenames) } \
16
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
177 .debug_varnames 0 : { *(.debug_varnames) } \
4f2df4ab82c8 Merge from eCos master repository on 1999-06-18-15:25:04-BST
jlarmour
parents: 12
diff changeset
178 /DISCARD/ 0 : { *(.mdebug) }
6
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
179
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
180 #include CYGHWR_MEMORY_LAYOUT_LDI
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
181
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
182 #ifndef CYGPKG_HAL_MIPS_SIM
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
183 hal_vsr_table = 0x80000100;
d376b777e2ce Merge from eCos master repository on 1999-05-14-19:27:43-BST
jlarmour
parents:
diff changeset
184 #endif