fix to allow usb modules to compile
[linux-2.4.21-pre4.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     __got2_start = .;
37     *(.got2)
38     __got2_end = .;
39   }
40   _etext = .;
41   PROVIDE (etext = .);
42   .rodata    :
43   {
44     *(.rodata)
45     *(.rodata.*)
46     *(.rodata1)
47   }
48   .kstrtab   : { *(.kstrtab) }
49   .fini      : { *(.fini)    } =0
50   .ctors     : { *(.ctors)   }
51   .dtors     : { *(.dtors)   }
52   /* Read-write section, merged into data segment: */
53   . = (. + 0x0FFF) & 0xFFFFF000;
54   .data    :
55   {
56     *(.data)
57     *(.data1)
58     *(.sdata)
59     *(.sdata2)
60     *(.got.plt) *(.got)
61     *(.dynamic)
62     CONSTRUCTORS
63   }
64   _edata  =  .;
65   PROVIDE (edata = .);
66
67   .fixup   : { *(.fixup) }
68   __start___ex_table = .;
69   __ex_table : { *(__ex_table) }
70   __stop___ex_table = .;
71
72   __start___ksymtab = .;        /* Kernel symbol table */
73   __ksymtab : { *(__ksymtab) }
74   __stop___ksymtab = .;
75
76   __start___ftr_fixup = .;
77   __ftr_fixup : { *(__ftr_fixup) }
78   __stop___ftr_fixup = .;
79
80   . = ALIGN(32);
81   .data.cacheline_aligned : { *(.data.cacheline_aligned) }
82
83   . = ALIGN(4096);
84   __init_begin = .;
85   .text.init : { *(.text.init) }
86   .data.init : { 
87     *(.data.init);
88     __vtop_table_begin = .;
89     *(.vtop_fixup);
90     __vtop_table_end = .;
91     __ptov_table_begin = .;
92     *(.ptov_fixup);
93     __ptov_table_end = .;
94   }
95   . = ALIGN(16);
96   __setup_start = .;
97   .setup.init : { *(.setup.init) }
98   __setup_end = .;
99   __initcall_start = .;
100   .initcall.init : { *(.initcall.init) }
101   __initcall_end = .;
102   . = ALIGN(4096);
103   __init_end = .;
104
105   . = ALIGN(4096);
106   __pmac_begin = .;
107   .text.pmac : { *(.text.pmac) }
108   .data.pmac : { *(.data.pmac) }
109   . = ALIGN(4096);
110   __pmac_end = .;
111
112   . = ALIGN(4096);
113   __prep_begin = .;
114   .text.prep : { *(.text.prep) }
115   .data.prep : { *(.data.prep) }
116   . = ALIGN(4096);
117   __prep_end = .;
118
119   . = ALIGN(4096);
120   __chrp_begin = .;
121   .text.chrp : { *(.text.chrp) }
122   .data.chrp : { *(.data.chrp) }
123   . = ALIGN(4096);
124   __chrp_end = .;
125
126   . = ALIGN(4096);
127   __openfirmware_begin = .;
128   .text.openfirmware : { *(.text.openfirmware) }
129   .data.openfirmware : { *(.data.openfirmware) }
130   . = ALIGN(4096);
131   __openfirmware_end = .;
132
133   __bss_start = .;
134   .bss       :
135   {
136    *(.sbss) *(.scommon)
137    *(.dynbss)
138    *(.bss)
139    *(COMMON)
140   }
141   _end = . ;
142   PROVIDE (end = .);
143 }