1dd78c84888a3e1556645537db9c3f549d62f92d
[linux-2.6.git] / 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     SCHED_TEXT
16     LOCK_TEXT
17     *(.gnu.warning)
18   } =0
19   _etext = .;
20   PROVIDE (etext = .);
21   RODATA
22   .data    :
23   {
24     *(.data)
25     CONSTRUCTORS
26   }
27   .data1   : { *(.data1) }
28   _edata  =  .;
29   PROVIDE (edata = .);
30   __start___fixup = .;
31   .fixup   : { *(.fixup) }
32   __stop___fixup = .;
33   __start___ex_table = .;
34   __ex_table : { *(__ex_table) }
35   __stop___ex_table = .;
36
37   . = ALIGN(4096);
38   __init_begin = .;
39   _sinittext = .;
40   .init.text : { 
41         *(.init.text)
42   }
43   _einittext = .;
44   __init_text_end = .;
45   .init.data : { *(.init.data) }
46   . = ALIGN(16);
47   __setup_start = .;
48   .init.setup : { *(.init.setup) }
49   __setup_end = .;
50   __initcall_start = .;
51   .initcall.init : {
52         *(.initcall1.init) 
53         *(.initcall2.init) 
54         *(.initcall3.init) 
55         *(.initcall4.init) 
56         *(.initcall5.init) 
57         *(.initcall6.init) 
58         *(.initcall7.init)
59   }
60   __initcall_end = .;
61   __con_initcall_start = .;
62   .con_initcall.init : { *(.con_initcall.init) }
63   __con_initcall_end = .;
64   SECURITY_INIT
65   . = ALIGN(4096);
66   __initramfs_start = .;
67   .init.ramfs : { *(.init.ramfs) }
68   __initramfs_end = .;
69   . = ALIGN(32);
70   __per_cpu_start = .;
71   .data.percpu  : { *(.data.percpu) }
72   __per_cpu_end = .;
73   . = ALIGN(4096);
74   __init_end = .;
75   . = ALIGN(32);
76   .data.cacheline_aligned : { *(.data.cacheline_aligned) }
77
78   __bss_start = .;
79   .sbss      : { *(.sbss) *(.scommon) }
80   .bss       :
81   {
82    *(.dynbss)
83    *(.bss)
84    *(COMMON)
85   }
86   _end = . ;
87   PROVIDE (end = .);
88   /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
89
90   STABS_DEBUG
91
92   DWARF_DEBUG
93 }