annotate packages/services/loader/current/src/dynamic.ld @ 1733:1a23a3a30984

Add support for the DataFlash device on the EB55.
author asl
date Tue, 05 Oct 2004 09:24:46 +0000
parents 022f1e506033
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
184
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
1 #define CYG_LOADER_DYNAMIC_LD
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
2
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
3 #include <cyg/loader/loader.hxx>
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
4
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
5 CYG_LOADER_DYNAMIC_PREFIX
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
6
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
7 /* Do we need any of these for elf?
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
8 __DYNAMIC = 0; */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
9 SECTIONS
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
10 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
11 /* Read-only sections, merged into text segment: */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
12 . = 0 + SIZEOF_HEADERS;
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
13 .hash : { *(.hash) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
14 .dynsym : { *(.dynsym) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
15 .dynstr : { *(.dynstr) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
16 .gnu.version : { *(.gnu.version) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
17 .gnu.version_d : { *(.gnu.version_d) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
18 .gnu.version_r : { *(.gnu.version_r) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
19 .rel.init : { *(.rel.init) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
20 .rela.init : { *(.rela.init) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
21 .rel.text :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
22 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
23 *(.rel.text)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
24 *(.rel.text.*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
25 *(.rel.gnu.linkonce.t*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
26 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
27 .rela.text :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
28 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
29 *(.rela.text)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
30 *(.rela.text.*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
31 *(.rela.gnu.linkonce.t*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
32 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
33 .rel.fini : { *(.rel.fini) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
34 .rela.fini : { *(.rela.fini) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
35 .rel.rodata :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
36 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
37 *(.rel.rodata)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
38 *(.rel.rodata.*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
39 *(.rel.gnu.linkonce.r*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
40 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
41 .rela.rodata :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
42 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
43 *(.rela.rodata)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
44 *(.rela.rodata.*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
45 *(.rela.gnu.linkonce.r*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
46 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
47 .rel.data :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
48 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
49 *(.rel.data)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
50 *(.rel.data.*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
51 *(.rel.gnu.linkonce.d*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
52 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
53 .rela.data :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
54 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
55 *(.rela.data)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
56 *(.rela.data.*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
57 *(.rela.gnu.linkonce.d*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
58 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
59 .rel.ctors : { *(.rel.ctors) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
60 .rela.ctors : { *(.rela.ctors) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
61 .rel.dtors : { *(.rel.dtors) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
62 .rela.dtors : { *(.rela.dtors) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
63 .rel.got : { *(.rel.got) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
64 .rela.got : { *(.rela.got) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
65 .rel.sdata :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
66 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
67 *(.rel.sdata)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
68 *(.rel.sdata.*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
69 *(.rel.gnu.linkonce.s*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
70 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
71 .rela.sdata :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
72 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
73 *(.rela.sdata)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
74 *(.rela.sdata.*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
75 *(.rela.gnu.linkonce.s*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
76 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
77 .rel.sbss : { *(.rel.sbss) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
78 .rela.sbss : { *(.rela.sbss) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
79 .rel.bss : { *(.rel.bss) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
80 .rela.bss : { *(.rela.bss) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
81 .rel.plt : { *(.rel.plt) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
82 .rela.plt : { *(.rela.plt) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
83 .init :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
84 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
85 KEEP (*(.init))
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
86 } =0x9090
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
87 .plt : { *(.plt) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
88 .text :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
89 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
90 *(.text)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
91 *(.text.*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
92 *(.stub)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
93 /* .gnu.warning sections are handled specially by elf32.em. */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
94 *(.gnu.warning)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
95 *(.gnu.linkonce.t*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
96 } =0x9090
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
97 _etext = .;
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
98 PROVIDE (etext = .);
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
99 .fini :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
100 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
101 KEEP (*(.fini))
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
102 } =0x9090
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
103 .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
104 .rodata1 : { *(.rodata1) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
105 #ifdef CYG_LOADER_DYNAMIC_DATA_ALIGN
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
106 CYG_LOADER_DYNAMIC_DATA_ALIGN
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
107 #else
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
108 . = ALIGN(0x1000);
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
109 #endif
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
110 .data :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
111 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
112 *(.data)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
113 *(.data.*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
114 *(.gnu.linkonce.d*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
115 SORT(CONSTRUCTORS)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
116 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
117 .data1 : { *(.data1) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
118 .eh_frame : { KEEP (*(.eh_frame)) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
119 .gcc_except_table : { *(.gcc_except_table) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
120 .ctors :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
121 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
122 /* gcc uses crtbegin.o to find the start of
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
123 the constructors, so we make sure it is
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
124 first. Because this is a wildcard, it
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
125 doesn't matter if the user does not
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
126 actually link against crtbegin.o; the
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
127 linker won't look for a file to match a
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
128 wildcard. The wildcard also means that it
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
129 doesn't matter which directory crtbegin.o
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
130 is in. */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
131 KEEP (*crtbegin.o(.ctors))
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
132 /* We don't want to include the .ctor section from
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
133 from the crtend.o file until after the sorted ctors.
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
134 The .ctor section from the crtend file contains the
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
135 end of ctors marker and it must be last */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
136 KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
137 KEEP (*(SORT(.ctors.*)))
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
138 KEEP (*(.ctors))
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
139 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
140 .dtors :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
141 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
142 KEEP (*crtbegin.o(.dtors))
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
143 KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
144 KEEP (*(SORT(.dtors.*)))
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
145 KEEP (*(.dtors))
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
146 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
147 .got : { *(.got.plt) *(.got) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
148 .dynamic : { *(.dynamic) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
149 /* We want the small data sections together, so single-instruction offsets
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
150 can access them all, and initialized data all before uninitialized, so
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
151 we can shorten the on-disk segment size. */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
152 .sdata :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
153 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
154 *(.sdata)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
155 *(.sdata.*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
156 *(.gnu.linkonce.s.*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
157 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
158 _edata = .;
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
159 PROVIDE (edata = .);
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
160 __bss_start = .;
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
161 .sbss :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
162 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
163 *(.dynsbss)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
164 *(.sbss)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
165 *(.sbss.*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
166 *(.scommon)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
167 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
168 .bss :
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
169 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
170 *(.dynbss)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
171 *(.bss)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
172 *(.bss.*)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
173 *(COMMON)
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
174 /* Align here to ensure that the .bss section occupies space up to
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
175 _end. Align after .bss to ensure correct alignment even if the
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
176 .bss section disappears because there are no input sections. */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
177 . = ALIGN(32 / 8);
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
178 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
179 . = ALIGN(32 / 8);
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
180 _end = .;
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
181 PROVIDE (end = .);
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
182 /* Stabs debugging sections. */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
183 .stab 0 : { *(.stab) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
184 .stabstr 0 : { *(.stabstr) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
185 .stab.excl 0 : { *(.stab.excl) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
186 .stab.exclstr 0 : { *(.stab.exclstr) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
187 .stab.index 0 : { *(.stab.index) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
188 .stab.indexstr 0 : { *(.stab.indexstr) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
189 .comment 0 : { *(.comment) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
190 /* DWARF debug sections.
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
191 Symbols in the DWARF debugging sections are relative to the beginning
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
192 of the section so we begin them at 0. */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
193 /* DWARF 1 */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
194 .debug 0 : { *(.debug) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
195 .line 0 : { *(.line) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
196 /* GNU DWARF 1 extensions */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
197 .debug_srcinfo 0 : { *(.debug_srcinfo) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
198 .debug_sfnames 0 : { *(.debug_sfnames) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
199 /* DWARF 1.1 and DWARF 2 */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
200 .debug_aranges 0 : { *(.debug_aranges) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
201 .debug_pubnames 0 : { *(.debug_pubnames) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
202 /* DWARF 2 */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
203 .debug_info 0 : { *(.debug_info) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
204 .debug_abbrev 0 : { *(.debug_abbrev) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
205 .debug_line 0 : { *(.debug_line) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
206 .debug_frame 0 : { *(.debug_frame) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
207 .debug_str 0 : { *(.debug_str) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
208 .debug_loc 0 : { *(.debug_loc) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
209 .debug_macinfo 0 : { *(.debug_macinfo) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
210 /* SGI/MIPS DWARF 2 extensions */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
211 .debug_weaknames 0 : { *(.debug_weaknames) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
212 .debug_funcnames 0 : { *(.debug_funcnames) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
213 .debug_typenames 0 : { *(.debug_typenames) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
214 .debug_varnames 0 : { *(.debug_varnames) }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
215 /* These must appear regardless of . */
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
216 }