Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
[linux-2.6] / arch / sparc64 / kernel / vmlinux.lds.S
1 /* ld script to make UltraLinux kernel */
2
3 #include <asm-generic/vmlinux.lds.h>
4
5 OUTPUT_FORMAT("elf64-sparc", "elf64-sparc", "elf64-sparc")
6 OUTPUT_ARCH(sparc:v9a)
7 ENTRY(_start)
8
9 jiffies = jiffies_64;
10 SECTIONS
11 {
12   swapper_pmd_dir = 0x0000000000402000;
13   empty_pg_dir = 0x0000000000403000;
14   . = 0x4000;
15   .text 0x0000000000404000 :
16   {
17     *(.text)
18     SCHED_TEXT
19     LOCK_TEXT
20     KPROBES_TEXT
21     *(.gnu.warning)
22   } =0
23   _etext = .;
24   PROVIDE (etext = .);
25
26   RODATA
27
28   .data    :
29   {
30     *(.data)
31     CONSTRUCTORS
32   }
33   .data1   : { *(.data1) }
34   . = ALIGN(64);
35   .data.cacheline_aligned : { *(.data.cacheline_aligned) }
36   . = ALIGN(64);
37   .data.read_mostly : { *(.data.read_mostly) }
38   _edata  =  .;
39   PROVIDE (edata = .);
40   .fixup   : { *(.fixup) }
41
42   . = ALIGN(16);
43   __start___ex_table = .;
44   __ex_table : { *(__ex_table) }
45   __stop___ex_table = .;
46
47   . = ALIGN(8192);
48   __init_begin = .;
49   .init.text : { 
50         _sinittext = .;
51         *(.init.text)
52         _einittext = .;
53   }
54   .init.data : { *(.init.data) }
55   . = ALIGN(16);
56   __setup_start = .;
57   .init.setup : { *(.init.setup) }
58   __setup_end = .;
59   __initcall_start = .;
60   .initcall.init : {
61         *(.initcall1.init) 
62         *(.initcall2.init) 
63         *(.initcall3.init) 
64         *(.initcall4.init) 
65         *(.initcall5.init) 
66         *(.initcall6.init) 
67         *(.initcall7.init)
68   }
69   __initcall_end = .;
70   __con_initcall_start = .;
71   .con_initcall.init : { *(.con_initcall.init) }
72   __con_initcall_end = .;
73   SECURITY_INIT
74   . = ALIGN(8192); 
75   __initramfs_start = .;
76   .init.ramfs : { *(.init.ramfs) }
77   __initramfs_end = .;
78   . = ALIGN(8192);
79   __per_cpu_start = .;
80   .data.percpu  : { *(.data.percpu) }
81   __per_cpu_end = .;
82   . = ALIGN(8192);
83   __init_end = .;
84   __bss_start = .;
85   .sbss      : { *(.sbss) *(.scommon) }
86   .bss       :
87   {
88    *(.dynbss)
89    *(.bss)
90    *(COMMON)
91   }
92   _end = . ;
93   PROVIDE (end = .);
94   /* Stabs debugging sections.  */
95   .stab 0 : { *(.stab) }
96   .stabstr 0 : { *(.stabstr) }
97   .stab.excl 0 : { *(.stab.excl) }
98   .stab.exclstr 0 : { *(.stab.exclstr) }
99   .stab.index 0 : { *(.stab.index) }
100   .stab.indexstr 0 : { *(.stab.indexstr) }
101   .comment 0 : { *(.comment) }
102   .debug          0 : { *(.debug) }
103   .debug_srcinfo  0 : { *(.debug_srcinfo) }
104   .debug_aranges  0 : { *(.debug_aranges) }
105   .debug_pubnames 0 : { *(.debug_pubnames) }
106   .debug_sfnames  0 : { *(.debug_sfnames) }
107   .line           0 : { *(.line) }
108   /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
109 }