ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / arch / ppc / kernel / vmlinux.lds.S
1 #include <asm-generic/vmlinux.lds.h>
2
3 OUTPUT_ARCH(powerpc)
4 jiffies = jiffies_64 + 4;
5 SECTIONS
6 {
7   /* Read-only sections, merged into text segment: */
8   . = + SIZEOF_HEADERS;
9   .interp : { *(.interp) }
10   .hash          : { *(.hash)           }
11   .dynsym        : { *(.dynsym)         }
12   .dynstr        : { *(.dynstr)         }
13   .rel.text      : { *(.rel.text)               }
14   .rela.text     : { *(.rela.text)      }
15   .rel.data      : { *(.rel.data)               }
16   .rela.data     : { *(.rela.data)      }
17   .rel.rodata    : { *(.rel.rodata)     }
18   .rela.rodata   : { *(.rela.rodata)    }
19   .rel.got       : { *(.rel.got)                }
20   .rela.got      : { *(.rela.got)               }
21   .rel.ctors     : { *(.rel.ctors)      }
22   .rela.ctors    : { *(.rela.ctors)     }
23   .rel.dtors     : { *(.rel.dtors)      }
24   .rela.dtors    : { *(.rela.dtors)     }
25   .rel.bss       : { *(.rel.bss)                }
26   .rela.bss      : { *(.rela.bss)               }
27   .rel.plt       : { *(.rel.plt)                }
28   .rela.plt      : { *(.rela.plt)               }
29 /*  .init          : { *(.init) } =0*/
30   .plt : { *(.plt) }
31   .text      :
32   {
33     *(.text)
34     SCHED_TEXT
35     *(.fixup)
36     *(.got1)
37     __got2_start = .;
38     *(.got2)
39     __got2_end = .;
40   }
41   _etext = .;
42   PROVIDE (etext = .);
43
44   RODATA
45   .fini      : { *(.fini)    } =0
46   .ctors     : { *(.ctors)   }
47   .dtors     : { *(.dtors)   }
48
49   .fixup   : { *(.fixup) }
50
51         __ex_table : {
52                 __start___ex_table = .;
53                 *(__ex_table)
54                 __stop___ex_table = .;
55         }
56
57         __bug_table : {
58                 __start___bug_table = .;
59                 *(__bug_table)
60                 __stop___bug_table = .;
61         }
62
63   /* Read-write section, merged into data segment: */
64   . = ALIGN(4096);
65   .data    :
66   {
67     *(.data)
68     *(.data1)
69     *(.sdata)
70     *(.sdata2)
71     *(.got.plt) *(.got)
72     *(.dynamic)
73     CONSTRUCTORS
74   }
75
76   . = ALIGN(32);
77   .data.cacheline_aligned : { *(.data.cacheline_aligned) }
78
79   _edata  =  .;
80   PROVIDE (edata = .);
81
82   . = ALIGN(8192);
83   .data.init_task : { *(.data.init_task) }
84
85   . = ALIGN(4096);
86   __init_begin = .;
87   .init.text : {
88         _sinittext = .;
89         *(.init.text)
90         _einittext = .;
91   }
92   .init.data : {
93     *(.init.data);
94     __vtop_table_begin = .;
95     *(.vtop_fixup);
96     __vtop_table_end = .;
97     __ptov_table_begin = .;
98     *(.ptov_fixup);
99     __ptov_table_end = .;
100   }
101   . = ALIGN(16);
102   __setup_start = .;
103   .init.setup : { *(.init.setup) }
104   __setup_end = .;
105   __start___param = .;
106   __param : { *(__param) }
107   __stop___param = .;
108   __initcall_start = .;
109   .initcall.init : {
110         *(.initcall1.init)
111         *(.initcall2.init)
112         *(.initcall3.init)
113         *(.initcall4.init)
114         *(.initcall5.init)
115         *(.initcall6.init)
116         *(.initcall7.init)
117   }
118   __initcall_end = .;
119
120   __con_initcall_start = .;
121   .con_initcall.init : { *(.con_initcall.init) }
122   __con_initcall_end = .;
123
124   SECURITY_INIT
125
126   __start___ftr_fixup = .;
127   __ftr_fixup : { *(__ftr_fixup) }
128   __stop___ftr_fixup = .;
129
130   . = ALIGN(32);
131   __per_cpu_start = .;
132   .data.percpu  : { *(.data.percpu) }
133   __per_cpu_end = .;
134
135   . = ALIGN(4096);
136   __initramfs_start = .;
137   .init.ramfs : { *(.init.ramfs) }
138   __initramfs_end = .;
139
140   . = ALIGN(4096);
141   __init_end = .;
142
143   . = ALIGN(4096);
144   __pmac_begin = .;
145   .pmac.text : { *(.pmac.text) }
146   .pmac.data : { *(.pmac.data) }
147   . = ALIGN(4096);
148   __pmac_end = .;
149
150   . = ALIGN(4096);
151   __prep_begin = .;
152   .prep.text : { *(.prep.text) }
153   .prep.data : { *(.prep.data) }
154   . = ALIGN(4096);
155   __prep_end = .;
156
157   . = ALIGN(4096);
158   __chrp_begin = .;
159   .chrp.text : { *(.chrp.text) }
160   .chrp.data : { *(.chrp.data) }
161   . = ALIGN(4096);
162   __chrp_end = .;
163
164   . = ALIGN(4096);
165   __openfirmware_begin = .;
166   .openfirmware.text : { *(.openfirmware.text) }
167   .openfirmware.data : { *(.openfirmware.data) }
168   . = ALIGN(4096);
169   __openfirmware_end = .;
170
171   __bss_start = .;
172   .bss       :
173   {
174    *(.sbss) *(.scommon)
175    *(.dynbss)
176    *(.bss)
177    *(COMMON)
178   }
179   __bss_stop = .;
180
181   _end = . ;
182   PROVIDE (end = .);
183
184   /* Sections to be discarded. */
185   /DISCARD/ : {
186     *(.exitcall.exit)
187   }
188 }