ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[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     *(.gnu.warning)
17   } =0
18   _etext = .;
19   PROVIDE (etext = .);
20   RODATA
21   .data    :
22   {
23     *(.data)
24     CONSTRUCTORS
25   }
26   .data1   : { *(.data1) }
27   _edata  =  .;
28   PROVIDE (edata = .);
29   __start___fixup = .;
30   .fixup   : { *(.fixup) }
31   __stop___fixup = .;
32   __start___ex_table = .;
33   __ex_table : { *(__ex_table) }
34   __stop___ex_table = .;
35
36   . = ALIGN(4096);
37   __init_begin = .;
38   .init.text : { 
39         _sinittext = .;
40         *(.init.text)
41         _einittext = .;
42   }
43   __init_text_end = .;
44   .init.data : { *(.init.data) }
45   . = ALIGN(16);
46   __setup_start = .;
47   .init.setup : { *(.init.setup) }
48   __setup_end = .;
49   __start___param = .;
50   __param : { *(__param) }
51   __stop___param = .;
52   __initcall_start = .;
53   .initcall.init : {
54         *(.initcall1.init) 
55         *(.initcall2.init) 
56         *(.initcall3.init) 
57         *(.initcall4.init) 
58         *(.initcall5.init) 
59         *(.initcall6.init) 
60         *(.initcall7.init)
61   }
62   __initcall_end = .;
63   __con_initcall_start = .;
64   .con_initcall.init : { *(.con_initcall.init) }
65   __con_initcall_end = .;
66   SECURITY_INIT
67   . = ALIGN(4096);
68   __initramfs_start = .;
69   .init.ramfs : { *(.init.ramfs) }
70   __initramfs_end = .;
71   . = ALIGN(32);
72   __per_cpu_start = .;
73   .data.percpu  : { *(.data.percpu) }
74   __per_cpu_end = .;
75   . = ALIGN(4096);
76   __init_end = .;
77   . = ALIGN(32);
78   .data.cacheline_aligned : { *(.data.cacheline_aligned) }
79
80   __bss_start = .;
81   .sbss      : { *(.sbss) *(.scommon) }
82   .bss       :
83   {
84    *(.dynbss)
85    *(.bss)
86    *(COMMON)
87   }
88   _end = . ;
89   PROVIDE (end = .);
90   /* Stabs debugging sections.  */
91   .stab 0 : { *(.stab) }
92   .stabstr 0 : { *(.stabstr) }
93   .stab.excl 0 : { *(.stab.excl) }
94   .stab.exclstr 0 : { *(.stab.exclstr) }
95   .stab.index 0 : { *(.stab.index) }
96   .stab.indexstr 0 : { *(.stab.indexstr) }
97   .comment 0 : { *(.comment) }
98   .debug          0 : { *(.debug) }
99   .debug_srcinfo  0 : { *(.debug_srcinfo) }
100   .debug_aranges  0 : { *(.debug_aranges) }
101   .debug_pubnames 0 : { *(.debug_pubnames) }
102   .debug_sfnames  0 : { *(.debug_sfnames) }
103   .line           0 : { *(.line) }
104   /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
105 }