Import 2.3.6pre2
[davej-history.git] / arch / i386 / vmlinux.lds
blobecf90c27c44f30c4f6cb73522f028a9dca528609
1 /* ld script to make i386 Linux kernel
2  * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>;
3  */
4 OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
5 OUTPUT_ARCH(i386)
6 ENTRY(_start)
7 SECTIONS
9   . = 0xC0000000  + 0x100000;
10   _text = .;                    /* Text and read-only data */
11   .text : {
12         *(.text)
13         *(.fixup)
14         *(.gnu.warning)
15         } = 0x9090
16   .text.lock : { *(.text.lock) }        /* out-of-line lock text */
17   .rodata : { *(.rodata) }
18   .kstrtab : { *(.kstrtab) }
20   . = ALIGN(16);                /* Exception table */
21   __start___ex_table = .;
22   __ex_table : { *(__ex_table) }
23   __stop___ex_table = .;
25   __start___ksymtab = .;        /* Kernel symbol table */
26   __ksymtab : { *(__ksymtab) }
27   __stop___ksymtab = .;
29   _etext = .;                   /* End of text section */
31   .data : {                     /* Data */
32         *(.data)
33         CONSTRUCTORS
34         }
36   _edata = .;                   /* End of data section */
38   . = ALIGN(8192);              /* init_task */
39   .data.init_task : { *(.data.init_task) }
41   . = ALIGN(4096);              /* Init code and data */
42   __init_begin = .;
43   .text.init : { *(.text.init) }
44   .data.init : { *(.data.init) }
45   . = ALIGN(4096);
46   __init_end = .;
48   . = ALIGN(32);
49   .data.cacheline_aligned : { *(.data.cacheline_aligned) }
51   . = ALIGN(4096);
52   .data.page_aligned : { *(.data.idt) }
55   __bss_start = .;              /* BSS */
56   .bss : {
57         *(.bss)
58         }
59   _end = . ;
61   /* Stabs debugging sections.  */
62   .stab 0 : { *(.stab) }
63   .stabstr 0 : { *(.stabstr) }
64   .stab.excl 0 : { *(.stab.excl) }
65   .stab.exclstr 0 : { *(.stab.exclstr) }
66   .stab.index 0 : { *(.stab.index) }
67   .stab.indexstr 0 : { *(.stab.indexstr) }
68   .comment 0 : { *(.comment) }