1 /* ld script to make i386 Linux kernel
2 * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>;
4 OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
10 . = 0xC0000000 + 0x100000;
12 _text = .; /* Text and read-only data */
19 _etext = .; /* End of text section */
21 .rodata : { *(.rodata) *(.rodata.*) }
22 .kstrtab : { *(.kstrtab) }
24 . = ALIGN(16); /* Exception table */
25 __start___ex_table = .;
26 __ex_table : { *(__ex_table) }
27 __stop___ex_table = .;
30 __start___ksymtab = .; /* Kernel symbol table */
31 __ksymtab : { *(__ksymtab) }
34 __start___kallsyms = .; /* All kernel symbols */
35 __kallsyms : { *(__kallsyms) }
36 __stop___kallsyms = .;
46 .data_nosave : { *(.data.nosave) }
51 .data.page_aligned : { *(.data.idt) }
54 .data.cacheline_aligned : { *(.data.cacheline_aligned) }
56 _edata = .; /* End of data section */
58 . = ALIGN(8192); /* init_task */
59 .data.init_task : { *(.data.init_task) }
61 /* will be freed after init */
62 . = ALIGN(4096); /* Init code and data */
64 .init.text : { *(.init.text) }
65 .init.data : { *(.init.data) }
68 .init.setup : { *(.init.setup) }
82 __initramfs_start = .;
83 .init.ramfs : { *(.init.ramfs) }
87 .data.percpu : { *(.data.percpu) }
91 /* freed after init ends here */
93 __bss_start = .; /* BSS */
99 /* Sections to be discarded */
106 /* Stabs debugging sections. */
107 .stab 0 : { *(.stab) }
108 .stabstr 0 : { *(.stabstr) }
109 .stab.excl 0 : { *(.stab.excl) }
110 .stab.exclstr 0 : { *(.stab.exclstr) }
111 .stab.index 0 : { *(.stab.index) }
112 .stab.indexstr 0 : { *(.stab.indexstr) }
113 .comment 0 : { *(.comment) }