2 _load = 0x10000; /* kernel load address */
4 OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
7 SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib);
11 . = _load + SIZEOF_HEADERS;
15 PROVIDE_HIDDEN (__rel_iplt_start = .);
17 PROVIDE_HIDDEN (__rel_iplt_end = .);
21 _kernel_image_start = .;
26 *(.text .stub .text.* .gnu.linkonce.t.*)
36 *(.rodata .rodata.* .gnu.linkonce.r.*)
37 /* Discarding the build-id section will yield to an error from the
38 * linker so just put it here */
43 PROVIDE (__preinit_array_start = .);
45 PROVIDE (__preinit_array_end = .);
49 PROVIDE (__init_array_start = .);
51 PROVIDE (__init_array_end = .);
55 PROVIDE (__fini_array_start = .);
57 PROVIDE (__fini_array_end = .);
66 KEEP(*(.initkip.version))
67 KEEP(*(.initkip.features))
68 KEEP(*(.initkip.features.fini))
74 PROVIDE (_kernel_data_start = .);
75 *(.data .data.* .gnu.linkonce.d.*)
78 __PER_CPU_CTORS_END__ = .;
79 KEEP (*(.ctors.00010))
80 KEEP (*(.ctors.00009))
81 KEEP (*(.ctors.00008))
82 KEEP (*(.ctors.00007))
83 KEEP (*(.ctors.00006))
84 KEEP (*(.ctors.00005))
85 KEEP (*(.ctors.00004))
86 KEEP (*(.ctors.00003))
87 KEEP (*(.ctors.00002))
88 KEEP (*(.ctors.00001))
89 __PER_CPU_CTORS_LIST__ = .;
91 __PER_CPU_LATE_CTORS_END__ = .;
92 KEEP (*(.ctors.00020))
93 KEEP (*(.ctors.00019))
94 KEEP (*(.ctors.00018))
95 KEEP (*(.ctors.00017))
96 KEEP (*(.ctors.00016))
97 KEEP (*(.ctors.00015))
98 KEEP (*(.ctors.00014))
99 KEEP (*(.ctors.00013))
100 KEEP (*(.ctors.00012))
101 KEEP (*(.ctors.00011))
102 __PER_CPU_LATE_CTORS_LIST__ = .;
105 PROVIDE (_log_table = .);
107 * The section must start with ".debug" because else the linker
108 * complains about references to discarded sections
110 KEEP(*(SORT(.debug.jdb.log_table)))
111 PROVIDE (_log_table_end = .);
115 *(.tdata .tdata.* .gnu.linkonce.td.*)
118 *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
121 .eh_frame : { KEEP (*(.eh_frame)) }
122 .gcc_except_table : { *(.gcc_except_table) }
125 KEEP (*crtbegin.o(.ctors))
126 KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
127 KEEP (*(SORT(.ctors.*)))
132 KEEP (*crtbegin.o(.dtors))
133 KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
134 KEEP (*(SORT(.dtors.*)))
145 PROVIDE (_per_cpu_data_start = .);
148 PROVIDE (_per_cpu_data_end = .);
151 PROVIDE (_edata = .);
155 PROVIDE (_initcall_start = .);
158 PROVIDE (_initcall_end = .);
162 .bss : { /* Linux 2.2 requires BSS to be last */
164 *(.bss .bss.* .gnu.linkonce.b.*)
170 /* make the kip_init code happy */
171 PROVIDE (_boot_sys_start = .);
172 PROVIDE (_boot_sys_end = .);