v2.4.8 -> v2.4.8.1
[opensuse:kernel.git] / arch / ppc / vmlinux.lds
1 OUTPUT_ARCH(powerpc)
2 SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/local/powerpc-any-elf/lib);
3 /* Do we need any of these for elf?
4    __DYNAMIC = 0;    */
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     *(.fixup)
35     *(.got1)
36   }
37   _etext = .;
38   PROVIDE (etext = .);
39   .rodata    :
40   {
41     *(.rodata)
42     *(.rodata.*)
43     *(.rodata1)
44   }
45   .kstrtab   : { *(.kstrtab) }
46   .fini      : { *(.fini)    } =0
47   .ctors     : { *(.ctors)   }
48   .dtors     : { *(.dtors)   }
49   /* Read-write section, merged into data segment: */
50   . = (. + 0x0FFF) & 0xFFFFF000;
51   .data    :
52   {
53     *(.data)
54     *(.data1)
55     *(.sdata)
56     *(.sdata2)
57     *(.got.plt) *(.got)
58     *(.dynamic)
59     CONSTRUCTORS
60   }
61   _edata  =  .;
62   PROVIDE (edata = .);
63
64   .fixup   : { *(.fixup) }
65   __start___ex_table = .;
66   __ex_table : { *(__ex_table) }
67   __stop___ex_table = .;
68
69   __start___ksymtab = .;        /* Kernel symbol table */
70   __ksymtab : { *(__ksymtab) }
71   __stop___ksymtab = .;
72
73   . = ALIGN(32);
74   .data.cacheline_aligned : { *(.data.cacheline_aligned) }
75
76   . = ALIGN(4096);
77   __init_begin = .;
78   .text.init : { *(.text.init) }
79   .data.init : { 
80     *(.data.init);
81     __vtop_table_begin = .;
82     *(.vtop_fixup);
83     __vtop_table_end = .;
84     __ptov_table_begin = .;
85     *(.ptov_fixup);
86     __ptov_table_end = .;
87   }
88   . = ALIGN(16);
89   __setup_start = .;
90   .setup.init : { *(.setup.init) }
91   __setup_end = .;
92   __initcall_start = .;
93   .initcall.init : { *(.initcall.init) }
94   __initcall_end = .;
95   . = ALIGN(4096);
96   __init_end = .;
97
98   . = ALIGN(4096);
99   __pmac_begin = .;
100   .text.pmac : { *(.text.pmac) }
101   .data.pmac : { *(.data.pmac) }
102   . = ALIGN(4096);
103   __pmac_end = .;
104
105   . = ALIGN(4096);
106   __prep_begin = .;
107   .text.prep : { *(.text.prep) }
108   .data.prep : { *(.data.prep) }
109   . = ALIGN(4096);
110   __prep_end = .;
111
112   . = ALIGN(4096);
113   __chrp_begin = .;
114   .text.chrp : { *(.text.chrp) }
115   .data.chrp : { *(.data.chrp) }
116   . = ALIGN(4096);
117   __chrp_end = .;
118
119   . = ALIGN(4096);
120   __openfirmware_begin = .;
121   .text.openfirmware : { *(.text.openfirmware) }
122   .data.openfirmware : { *(.data.openfirmware) }
123   . = ALIGN(4096);
124   __openfirmware_end = .;
125
126   __bss_start = .;
127   .bss       :
128   {
129    *(.sbss) *(.scommon)
130    *(.dynbss)
131    *(.bss)
132    *(COMMON)
133   }
134   _end = . ;
135   PROVIDE (end = .);
136 }