v2.4.8 -> v2.4.8.1
[opensuse:kernel.git] / arch / s390 / vmlinux-shared.lds
1 /* ld script to make s390 Linux kernel
2  * Written by Martin Schwidefsky (schwidefsky@de.ibm.com)
3  */
4 OUTPUT_FORMAT("elf32-s390", "elf32-s390", "elf32-s390")
5 OUTPUT_ARCH(s390)
6 ENTRY(_start)
7 SECTIONS
8 {
9   . = 0x00000000;
10   _text = .;                    /* Text and read-only data */
11   .text : {
12         *(.text)
13         *(.fixup)
14         *(.gnu.warning)
15         } = 0x0700
16   .text.lock : { *(.text.lock) }        /* out-of-line lock text */
17   .rodata : { *(.rodata) }
18   .kstrtab : { *(.kstrtab) }
19
20   . = ALIGN(16);                /* Exception table */
21   __start___ex_table = .;
22   __ex_table : { *(__ex_table) }
23   __stop___ex_table = .;
24
25   __start___ksymtab = .;        /* Kernel symbol table */
26   __ksymtab : { *(__ksymtab) }
27   __stop___ksymtab = .;
28
29   __start___kallsyms = .;       /* All kernel symbols */
30   __kallsyms : { *(__kallsyms) }
31   __stop___kallsyms = .;
32
33   . = ALIGN(1048576);           /* VM shared segments are 1MB aligned */
34
35   _etext = .;                   /* End of text section */
36
37   .data : {                     /* Data */
38         *(.data)
39         CONSTRUCTORS
40         }
41
42   _edata = .;                   /* End of data section */
43
44   . = ALIGN(8192);              /* init_task */
45   .data.init_task : { *(.data.init_task) }
46
47   . = ALIGN(4096);              /* Init code and data */
48   __init_begin = .;
49   .text.init : { *(.text.init) }
50   .data.init : { *(.data.init) }
51   . = ALIGN(4096);
52   __init_end = .;
53
54   __setup_start = .;
55   .setup.init : { *(.setup.init) }
56   __setup_end = .;
57   __initcall_start = .;
58   .initcall.init : { *(.initcall.init) }
59   __initcall_end = .;
60   . = ALIGN(4096);
61   __init_end = .;
62
63   . = ALIGN(32);
64   .data.cacheline_aligned : { *(.data.cacheline_aligned) }
65
66   . = ALIGN(4096);
67   .data.page_aligned : { *(.data.idt) }
68
69
70   __bss_start = .;              /* BSS */
71   .bss : {
72         *(.bss)
73         }
74   _end = . ;
75
76   /* Stabs debugging sections.  */
77   .stab 0 : { *(.stab) }
78   .stabstr 0 : { *(.stabstr) }
79   .stab.excl 0 : { *(.stab.excl) }
80   .stab.exclstr 0 : { *(.stab.exclstr) }
81   .stab.index 0 : { *(.stab.index) }
82   .stab.indexstr 0 : { *(.stab.indexstr) }
83   .comment 0 : { *(.comment) }
84 }