- Alan Cox: synch. PA-RISC arch and bitops cleanups
[davej-history.git] / arch / i386 / vmlinux.lds
blobda64e9aa395d9a71ec9fe33dc998d9271e3aca66
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(16);
46   __setup_start = .;
47   .setup.init : { *(.setup.init) }
48   __setup_end = .;
49   __initcall_start = .;
50   .initcall.init : { *(.initcall.init) }
51   __initcall_end = .;
52   . = ALIGN(4096);
53   __init_end = .;
55   . = ALIGN(4096);
56   .data.page_aligned : { *(.data.idt) }
58   . = ALIGN(32);
59   .data.cacheline_aligned : { *(.data.cacheline_aligned) }
61   __bss_start = .;              /* BSS */
62   .bss : {
63         *(.bss)
64         }
65   _end = . ;
67   /* Sections to be discarded */
68   /DISCARD/ : {
69         *(.text.exit)
70         *(.data.exit)
71         *(.exitcall.exit)
72         }
74   /* Stabs debugging sections.  */
75   .stab 0 : { *(.stab) }
76   .stabstr 0 : { *(.stabstr) }
77   .stab.excl 0 : { *(.stab.excl) }
78   .stab.exclstr 0 : { *(.stab.exclstr) }
79   .stab.index 0 : { *(.stab.index) }
80   .stab.indexstr 0 : { *(.stab.indexstr) }
81   .comment 0 : { *(.comment) }