3 /* TODO cbass: define in ppc32 Makerules.KERNEL */
4 /*kernel_load_addr = 0xfd000000;*/ /* kernel link address */
28 PROVIDE (_kernel_image_start = .);
29 .physmem : AT(ADDR(.physmem)) {
32 .kip : AT(ADDR(.kip)) {
35 KEEP(*(.initkip.version))
36 KEEP(*(.initkip.features))
37 KEEP(*(.initkip.features.fini))
42 .koptions : AT (ADDR(.koptions)) {
46 .mp_tramp : AT (ADDR(.mp_tramp)) {
50 .exceptcommon : AT(ADDR(.exceptcommon)) {
54 .text : AT (ADDR(.text)) {
57 *(.text SORT(.text.*) .gnu.linkonce.t.*)
62 *(.rodata .rodata.* .gnu.linkonce.r.*)
65 PROVIDE (_log_table = .);
67 * The section must start with ".debug" because else the linker
68 * complains about references to discarded sections
70 KEEP(*(SORT(.debug.jdb.log_table)))
71 PROVIDE (_log_table_end = .);
79 .data : AT (ADDR(.data)) {
80 *(.data .data.* .gnu.linkonce.d.*)
83 /* Constructor and destructor lists, ordered by priority. The lists
84 are traversed from end to start, therefore the *_END__ symbols
85 precede the *_LIST__ symbols. */
87 __PER_CPU_INIT_ARRAY_START__ = .;
88 KEEP (*(.init_array.65534))
89 KEEP (*(.init_array.65533))
90 KEEP (*(.init_array.65532))
91 KEEP (*(.init_array.65531))
92 KEEP (*(.init_array.65530))
93 KEEP (*(.init_array.65529))
94 KEEP (*(.init_array.65528))
95 KEEP (*(.init_array.65527))
96 KEEP (*(.init_array.65526))
97 KEEP (*(.init_array.65525))
98 __PER_CPU_INIT_ARRAY_END__ = .;
100 __PER_CPU_LATE_INIT_ARRAY_START__ = .;
101 KEEP (*(.init_array.65524))
102 KEEP (*(.init_array.65523))
103 KEEP (*(.init_array.65522))
104 KEEP (*(.init_array.65521))
105 KEEP (*(.init_array.65520))
106 KEEP (*(.init_array.65519))
107 KEEP (*(.init_array.65518))
108 KEEP (*(.init_array.65517))
109 KEEP (*(.init_array.65516))
110 KEEP (*(.init_array.65515))
111 __PER_CPU_LATE_INIT_ARRAY_END__ = .;
113 __INIT_ARRAY_START__ = .;
114 KEEP (*(SORT (.init_array.*)))
115 KEEP (*(.init_array))
116 __INIT_ARRAY_END__ = .;
118 __PER_CPU_CTORS_END__ = .;
119 KEEP (*(.ctors.00010))
120 KEEP (*(.ctors.00009))
121 KEEP (*(.ctors.00008))
122 KEEP (*(.ctors.00007))
123 KEEP (*(.ctors.00006))
124 KEEP (*(.ctors.00005))
125 KEEP (*(.ctors.00004))
126 KEEP (*(.ctors.00003))
127 KEEP (*(.ctors.00002))
128 KEEP (*(.ctors.00001))
129 __PER_CPU_CTORS_LIST__ = .;
131 __PER_CPU_LATE_CTORS_END__ = .;
132 KEEP (*(.ctors.00020))
133 KEEP (*(.ctors.00019))
134 KEEP (*(.ctors.00018))
135 KEEP (*(.ctors.00017))
136 KEEP (*(.ctors.00016))
137 KEEP (*(.ctors.00015))
138 KEEP (*(.ctors.00014))
139 KEEP (*(.ctors.00013))
140 KEEP (*(.ctors.00012))
141 KEEP (*(.ctors.00011))
142 __PER_CPU_LATE_CTORS_LIST__ = .;
147 KEEP (*(SORT (.ctors.*)))
151 KEEP (*(SORT (.dtors.*)))
155 PROVIDE (_edata = .);
159 .per_cpu_data : AT (ADDR(.per_cpu_data)) {
160 PROVIDE (_per_cpu_data_start = .);
163 PROVIDE (_per_cpu_data_end = .);
167 .bss : AT (ADDR(.bss)) {
168 PROVIDE (_bss_start = .);
170 _per_cpu_ctor_data_start = .;
171 KEEP (*(.bss.per_cpu_ctor_data))
172 _per_cpu_ctor_data_end = .;
174 *(.bss .bss.* .gnu.linkonce.b.* COMMON)
175 PROVIDE (_bss_end = .);
181 .initcall.text : AT (ADDR(.initcall.text)) {
182 PROVIDE (_initcall_start = .);
184 } : kitext = 0x000000000
186 .initcall.data : AT (ADDR(.initcall.data)) {
189 PROVIDE (_initcall_end = .);