more changes on original files
[linux-2.4.git] / arch / ppc64 / vmlinux.lds
1 OUTPUT_ARCH(powerpc:common64)
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   . = ALIGN(4096);
38   _etext = .;
39   PROVIDE (etext = .);
40   .rodata    :
41   {
42     *(.rodata)
43     *(.rodata1)
44   }
45   .fini      : { *(.fini)    } =0
46   .ctors     : { *(.ctors)   }
47   .dtors     : { *(.dtors)   }
48   /* Read-write section, merged into data segment: */
49   . = (. + 0x0FFF) & 0xFFFFFFFFFFFFF000;
50   .data    :
51   {
52     *(.data)
53     *(.data1)
54     *(.sdata)
55     *(.sdata2)
56     *(.got.plt) *(.got)
57     *(.dynamic)
58     CONSTRUCTORS
59   }
60   . = ALIGN(4096);
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   __start___kallsyms = .;       /* All kernel symbols */
73   __kallsyms : { *(__kallsyms) }
74   __stop___kallsyms = .;
75
76   . = ALIGN(16);
77   __start___ftr_fixup = .;
78   __ftr_fixup : { *(__ftr_fixup) }
79   __stop___ftr_fixup = .;
80
81   . = ALIGN(4096);
82   .data.page_aligned : { *(.data.page_aligned) }
83
84   . = ALIGN(128);
85   .data.cacheline_aligned : { *(.data.cacheline_aligned) }
86
87   . = ALIGN(4096);
88   __init_begin = .;
89   .text.init : { *(.text.init) }
90   .data.init : { 
91     *(.data.init);
92     __vtop_table_begin = .;
93     *(.vtop_fixup);
94     __vtop_table_end = .;
95     __ptov_table_begin = .;
96     *(.ptov_fixup);
97     __ptov_table_end = .;
98   }
99   . = ALIGN(16);
100   __setup_start = .;
101   .setup.init : { *(.setup.init) }
102   __setup_end = .;
103   __initcall_start = .;
104   .initcall.init : { *(.initcall.init) }
105   __initcall_end = .;
106
107
108   . = ALIGN(4096);
109   __init_end = .;
110
111   __chrp_begin = .;
112   .text.chrp : { *(.text.chrp) }
113   .data.chrp : { *(.data.chrp) }
114   . = ALIGN(4096);
115   __chrp_end = .;
116
117   . = ALIGN(4096);
118   __openfirmware_begin = .;
119   .text.openfirmware : { *(.text.openfirmware) }
120   .data.openfirmware : { *(.data.openfirmware) }
121   . = ALIGN(4096);
122   __openfirmware_end = .;
123
124   __toc_start = .;
125   .toc       :
126   {
127    *(.toc)
128   }
129   . = ALIGN(4096);
130   __toc_end = .;
131
132   __bss_start = .;
133   .bss       :
134   {
135    *(.sbss) *(.scommon)
136    *(.dynbss)
137    *(.bss)
138    *(COMMON)
139   }
140
141   . = ALIGN(4096);
142   _end = . ;
143   PROVIDE (end = .);
144 }