18 . = kernel_load_addr + 0x1000;
26 PROVIDE (_kernel_image_start = .);
27 .physmem : AT(ADDR(.physmem)) {
30 .kip : AT(ADDR(.kip)) {
33 KEEP(*(.initkip.version))
34 KEEP(*(.initkip.features))
35 KEEP(*(.initkip.features.fini))
40 .koptions : AT (ADDR(.koptions)) {
44 .mp_tramp : AT (ADDR(.mp_tramp)) {
48 .exceptcommon : AT(ADDR(.exceptcommon)) {
52 .text : AT (ADDR(.text)) {
55 *(.text SORT(.text.*) .gnu.linkonce.t.*)
60 *(.rodata .rodata.* .gnu.linkonce.r.*)
63 PROVIDE (_log_table = .);
65 * The section must start with ".debug" because else the linker
66 * complains about references to discarded sections
68 KEEP(*(SORT(.debug.jdb.log_table)))
69 PROVIDE (_log_table_end = .);
77 .data : AT (ADDR(.data)) {
78 *(.data .data.* .gnu.linkonce.d.*)
81 /* Constructor and destructor lists, ordered by priority. The lists
82 are traversed from end to start, therefore the *_END__ symbols
83 precede the *_LIST__ symbols. */
85 __PER_CPU_INIT_ARRAY_START__ = .;
86 KEEP (*(.init_array.65534))
87 KEEP (*(.init_array.65533))
88 KEEP (*(.init_array.65532))
89 KEEP (*(.init_array.65531))
90 KEEP (*(.init_array.65530))
91 KEEP (*(.init_array.65529))
92 KEEP (*(.init_array.65528))
93 KEEP (*(.init_array.65527))
94 KEEP (*(.init_array.65526))
95 KEEP (*(.init_array.65525))
96 __PER_CPU_INIT_ARRAY_END__ = .;
98 __PER_CPU_LATE_INIT_ARRAY_START__ = .;
99 KEEP (*(.init_array.65524))
100 KEEP (*(.init_array.65523))
101 KEEP (*(.init_array.65522))
102 KEEP (*(.init_array.65521))
103 KEEP (*(.init_array.65520))
104 KEEP (*(.init_array.65519))
105 KEEP (*(.init_array.65518))
106 KEEP (*(.init_array.65517))
107 KEEP (*(.init_array.65516))
108 KEEP (*(.init_array.65515))
109 __PER_CPU_LATE_INIT_ARRAY_END__ = .;
111 __INIT_ARRAY_START__ = .;
112 KEEP (*(SORT (.init_array.*)))
113 KEEP (*(.init_array))
114 __INIT_ARRAY_END__ = .;
116 __PER_CPU_CTORS_END__ = .;
117 KEEP (*(.ctors.00010))
118 KEEP (*(.ctors.00009))
119 KEEP (*(.ctors.00008))
120 KEEP (*(.ctors.00007))
121 KEEP (*(.ctors.00006))
122 KEEP (*(.ctors.00005))
123 KEEP (*(.ctors.00004))
124 KEEP (*(.ctors.00003))
125 KEEP (*(.ctors.00002))
126 KEEP (*(.ctors.00001))
127 __PER_CPU_CTORS_LIST__ = .;
129 __PER_CPU_LATE_CTORS_END__ = .;
130 KEEP (*(.ctors.00020))
131 KEEP (*(.ctors.00019))
132 KEEP (*(.ctors.00018))
133 KEEP (*(.ctors.00017))
134 KEEP (*(.ctors.00016))
135 KEEP (*(.ctors.00015))
136 KEEP (*(.ctors.00014))
137 KEEP (*(.ctors.00013))
138 KEEP (*(.ctors.00012))
139 KEEP (*(.ctors.00011))
140 __PER_CPU_LATE_CTORS_LIST__ = .;
145 KEEP (*(SORT (.ctors.*)))
149 KEEP (*(SORT (.dtors.*)))
153 PROVIDE (_edata = .);
157 .per_cpu_data : AT (ADDR(.per_cpu_data)) {
158 PROVIDE (_per_cpu_data_start = .);
161 PROVIDE (_per_cpu_data_end = .);
165 .bss : AT (ADDR(.bss)) {
166 PROVIDE (_bss_start = .);
168 _per_cpu_ctor_data_start = .;
169 KEEP (*(.bss.per_cpu_ctor_data))
170 _per_cpu_ctor_data_end = .;
172 *(.bss .bss.* .gnu.linkonce.b.* COMMON)
173 PROVIDE (_bss_end = .);
179 .initcall.text : AT (ADDR(.initcall.text)) {
180 PROVIDE (_initcall_start = .);
182 } : kitext = 0x000000000
184 .initcall.data : AT (ADDR(.initcall.data)) {
187 PROVIDE (_initcall_end = .);