Import 2.3.28
[davej-history.git] / arch / ppc / vmlinux.lds
blob707c4ad2febf628c16ebf6813c23156d0cfa55d9
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
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     *(.rodata1)
43   }
44   .fini      : { *(.fini)    } =0
45   .ctors     : { *(.ctors)   }
46   .dtors     : { *(.dtors)   }
47   /* Read-write section, merged into data segment: */
48   . = (. + 0x0FFF) & 0xFFFFF000;
49   .data    :
50   {
51     *(.data)
52     *(.data1)
53     *(.sdata)
54     *(.sdata2)
55     *(.got.plt) *(.got)
56     *(.dynamic)
57     CONSTRUCTORS
58   }
59   _edata  =  .;
60   PROVIDE (edata = .);
62   .fixup   : { *(.fixup) }
63   __start___ex_table = .;
64   __ex_table : { *(__ex_table) }
65   __stop___ex_table = .;
67   . = ALIGN(32);
68   .data.cacheline_aligned : { *(.data.cacheline_aligned) }
70   . = ALIGN(4096);
71   __init_begin = .;
72   .text.init : { *(.text.init) }
73   .data.init : { 
74     *(.data.init);
75     __vtop_table_begin = .;
76     *(.vtop_fixup);
77     __vtop_table_end = .;
78     __ptov_table_begin = .;
79     *(.ptov_fixup);
80     __ptov_table_end = .;
81   }
82   . = ALIGN(16);
83   __setup_start = .;
84   .setup.init : { *(.setup.init) }
85   __setup_end = .;
86   __initcall_start = .;
87   .initcall.init : { *(.initcall.init) }
88   __initcall_end = .;
89   . = ALIGN(4096);
90   __init_end = .;
92   . = ALIGN(4096);
93   __pmac_begin = .;
94   .text.pmac : { *(.text.pmac) }
95   .data.pmac : { *(.data.pmac) }
96   . = ALIGN(4096);
97   __pmac_end = .;
99   . = ALIGN(4096);
100   __prep_begin = .;
101   .text.prep : { *(.text.prep) }
102   .data.prep : { *(.data.prep) }
103   . = ALIGN(4096);
104   __prep_end = .;
106   . = ALIGN(4096);
107   __apus_begin = .;
108   .text.apus : { *(.text.apus) }
109   .data.apus : { *(.data.apus) }
110   . = ALIGN(4096);
111   __apus_end = .;
113   . = ALIGN(4096);
114   __apus_begin = .;
115   .text.apus : { *(.text.apus) }
116   .data.apus : { *(.data.apus) }
117   . = ALIGN(4096);
118   __apus_end = .;
120   . = ALIGN(4096);
121   __openfirmware_begin = .;
122   .text.openfirmware : { *(.text.openfirmware) }
123   .data.openfirmware : { *(.data.openfirmware) }
124   . = ALIGN(4096);
125   __openfirmware_end = .;
127   __bss_start = .;
128   .bss       :
129   {
130    *(.sbss) *(.scommon)
131    *(.dynbss)
132    *(.bss)
133    *(COMMON)
134   }
135   _end = . ;
136   PROVIDE (end = .);