Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6] / arch / sparc / kernel / vmlinux.lds.S
1 /* ld script to make SparcLinux kernel */
2
3 #include <asm-generic/vmlinux.lds.h>
4
5 OUTPUT_FORMAT("elf32-sparc", "elf32-sparc", "elf32-sparc")
6 OUTPUT_ARCH(sparc)
7 ENTRY(_start)
8 jiffies = jiffies_64 + 4;
9 SECTIONS
10 {
11   . = 0x10000 + SIZEOF_HEADERS;
12   .text 0xf0004000 :
13   {
14     _text = .;
15     TEXT_TEXT
16     SCHED_TEXT
17     LOCK_TEXT
18     *(.gnu.warning)
19   } =0
20   _etext = .;
21   PROVIDE (etext = .);
22   RODATA
23   .data    :
24   {
25     DATA_DATA
26     CONSTRUCTORS
27   }
28   .data1   : { *(.data1) }
29   _edata  =  .;
30   PROVIDE (edata = .);
31   __start___fixup = .;
32   .fixup   : { *(.fixup) }
33   __stop___fixup = .;
34   __start___ex_table = .;
35   __ex_table : { *(__ex_table) }
36   __stop___ex_table = .;
37
38   . = ALIGN(4096);
39   __init_begin = .;
40   _sinittext = .;
41   .init.text : { 
42         *(.init.text)
43   }
44   _einittext = .;
45   __init_text_end = .;
46   .init.data : { *(.init.data) }
47   . = ALIGN(16);
48   __setup_start = .;
49   .init.setup : { *(.init.setup) }
50   __setup_end = .;
51   __initcall_start = .;
52   .initcall.init : {
53         INITCALLS
54   }
55   __initcall_end = .;
56   __con_initcall_start = .;
57   .con_initcall.init : { *(.con_initcall.init) }
58   __con_initcall_end = .;
59   SECURITY_INIT
60
61 #ifdef CONFIG_BLK_DEV_INITRD
62   . = ALIGN(4096);
63   __initramfs_start = .;
64   .init.ramfs : { *(.init.ramfs) }
65   __initramfs_end = .;
66 #endif
67
68   . = ALIGN(4096);
69   __per_cpu_start = .;
70   .data.percpu  : { *(.data.percpu) }
71   __per_cpu_end = .;
72   . = ALIGN(4096);
73   __init_end = .;
74   . = ALIGN(32);
75   .data.cacheline_aligned : { *(.data.cacheline_aligned) }
76
77   __bss_start = .;
78   .sbss      : { *(.sbss) *(.scommon) }
79   .bss       :
80   {
81    *(.dynbss)
82    *(.bss)
83    *(COMMON)
84   }
85   _end = . ;
86   PROVIDE (end = .);
87   /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
88
89   STABS_DEBUG
90
91   DWARF_DEBUG
92 }