]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - sys/conf/ldscript.sparc64
Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.
[FreeBSD/releng/8.1.git] / sys / conf / ldscript.sparc64
1 /* $FreeBSD$ */
2 OUTPUT_FORMAT("elf64-sparc", "elf64-sparc",
3               "elf64-sparc")
4 OUTPUT_ARCH(sparc:v9)
5 ENTRY(_start)
6 SEARCH_DIR(/usr/lib);
7 /* Do we need any of these for elf?
8    __DYNAMIC = 0;    */
9 SECTIONS
10 {
11   /* Read-only sections, merged into text segment: */
12   . = kernbase + SIZEOF_HEADERS;
13   .interp     : { *(.interp)    }
14   .hash          : { *(.hash)           }
15   .dynsym        : { *(.dynsym)         }
16   .dynstr        : { *(.dynstr)         }
17   .gnu.version   : { *(.gnu.version)    }
18   .gnu.version_d   : { *(.gnu.version_d)        }
19   .gnu.version_r   : { *(.gnu.version_r)        }
20   .rel.init      : { *(.rel.init)       }
21   .rela.init     : { *(.rela.init)      }
22   .rel.text      :
23     {
24       *(.rel.text)
25       *(.rel.text.*)
26       *(.rel.gnu.linkonce.t.*)
27     }
28   .rela.text     :
29     {
30       *(.rela.text)
31       *(.rela.text.*)
32       *(.rela.gnu.linkonce.t.*)
33     }
34   .rel.fini      : { *(.rel.fini)       }
35   .rela.fini     : { *(.rela.fini)      }
36   .rel.rodata    :
37     {
38       *(.rel.rodata)
39       *(.rel.rodata.*)
40       *(.rel.gnu.linkonce.r.*)
41     }
42   .rela.rodata   :
43     {
44       *(.rela.rodata)
45       *(.rela.rodata.*)
46       *(.rela.gnu.linkonce.r.*)
47     }
48   .rel.data      :
49     {
50       *(.rel.data)
51       *(.rel.data.*)
52       *(.rel.gnu.linkonce.d.*)
53     }
54   .rela.data     :
55     {
56       *(.rela.data)
57       *(.rela.data.*)
58       *(.rela.gnu.linkonce.d.*)
59     }
60   .rel.ctors     : { *(.rel.ctors)      }
61   .rela.ctors    : { *(.rela.ctors)     }
62   .rel.dtors     : { *(.rel.dtors)      }
63   .rela.dtors    : { *(.rela.dtors)     }
64   .rel.got       : { *(.rel.got)                }
65   .rela.got      : { *(.rela.got)               }
66   .rel.sdata     :
67     {
68       *(.rel.sdata)
69       *(.rel.sdata.*)
70       *(.rel.gnu.linkonce.s.*)
71     }
72   .rela.sdata     :
73     {
74       *(.rela.sdata)
75       *(.rela.sdata.*)
76       *(.rela.gnu.linkonce.s.*)
77     }
78   .rel.sbss      :
79     { 
80       *(.rel.sbss)
81       *(.rel.sbss.*)
82       *(.rel.gnu.linkonce.sb.*)
83     }
84   .rela.sbss     :
85     {
86       *(.rela.sbss)
87       *(.rela.sbss.*)
88       *(.rel.gnu.linkonce.sb.*)
89     }
90   .rel.sdata2    : 
91     { 
92       *(.rel.sdata2)
93       *(.rel.sdata2.*)
94       *(.rel.gnu.linkonce.s2.*)
95     }
96   .rela.sdata2   : 
97     {
98       *(.rela.sdata2)
99       *(.rela.sdata2.*)
100       *(.rela.gnu.linkonce.s2.*)
101     }
102   .rel.sbss2     : 
103     { 
104       *(.rel.sbss2)     
105       *(.rel.sbss2.*)
106       *(.rel.gnu.linkonce.sb2.*)
107     }
108   .rela.sbss2    : 
109     { 
110       *(.rela.sbss2)    
111       *(.rela.sbss2.*)
112       *(.rela.gnu.linkonce.sb2.*)
113     }
114   .rel.bss       : 
115     { 
116       *(.rel.bss)
117       *(.rel.bss.*)
118       *(.rel.gnu.linkonce.b.*)
119     }
120   .rela.bss      : 
121     { 
122       *(.rela.bss)
123       *(.rela.bss.*)
124       *(.rela.gnu.linkonce.b.*)
125     }
126   .rel.plt       : { *(.rel.plt)                }
127   .rela.plt      : { *(.rela.plt)               }
128   .init          : 
129   { 
130     KEEP (*(.init))
131   } =0x1000000
132   .text      :
133   {
134     *(.trap)
135     *(.text)
136     *(.text.*)
137     *(.stub)
138     /* .gnu.warning sections are handled specially by elf32.em.  */
139     *(.gnu.warning)
140     *(.gnu.linkonce.t.*)
141   } =0x1000000
142   .fini      :
143   {
144     KEEP (*(.fini))
145   } =0x1000000
146   PROVIDE (__etext = .);
147   PROVIDE (_etext = .);
148   PROVIDE (etext = .);
149   .rodata   : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) }
150   .rodata1   : { *(.rodata1) }
151   .sdata2   : { *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) }
152   .sbss2   : { *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) }
153   . = ALIGN(0x2000) + (. & (0x2000 - 1));
154   .data    :
155   {
156     *(.data)
157     *(.data.*)
158     *(.gnu.linkonce.d.*)
159     SORT(CONSTRUCTORS)
160   }
161   .data1   : { *(.data1) }
162   .eh_frame : { KEEP (*(.eh_frame)) }
163   .gcc_except_table : { *(.gcc_except_table) }
164   .ctors   : 
165   {
166     /* gcc uses crtbegin.o to find the start of
167        the constructors, so we make sure it is
168        first.  Because this is a wildcard, it
169        doesn't matter if the user does not
170        actually link against crtbegin.o; the
171        linker won't look for a file to match a
172        wildcard.  The wildcard also means that it
173        doesn't matter which directory crtbegin.o
174        is in.  */
175     KEEP (*crtbegin.o(.ctors))
176     /* We don't want to include the .ctor section from
177        from the crtend.o file until after the sorted ctors.
178        The .ctor section from the crtend file contains the
179        end of ctors marker and it must be last */
180     KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
181     KEEP (*(SORT(.ctors.*)))
182     KEEP (*(.ctors))
183   }
184    .dtors         :
185   {
186     KEEP (*crtbegin.o(.dtors))
187     KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
188     KEEP (*(SORT(.dtors.*)))
189     KEEP (*(.dtors))
190   }
191   .plt      : { *(.plt) }
192   .got            : { *(.got.plt) *(.got) }
193   .dynamic       : { *(.dynamic) }
194   /* We want the small data sections together, so single-instruction offsets
195      can access them all, and initialized data all before uninitialized, so
196      we can shorten the on-disk segment size.  */
197   .sdata     : 
198   {
199     *(.sdata) 
200     *(.sdata.*)
201     *(.gnu.linkonce.s.*)
202   }
203   _edata = .;
204   PROVIDE (edata = .);
205   __bss_start = .;
206   .sbss      :
207   {
208     PROVIDE (__sbss_start = .);
209     PROVIDE (___sbss_start = .);
210     *(.dynsbss)
211     *(.sbss)
212     *(.sbss.*)
213     *(.gnu.linkonce.sb.*)
214     *(.scommon)
215     PROVIDE (__sbss_end = .);
216     PROVIDE (___sbss_end = .);
217   }
218   .bss       :
219   {
220    *(.dynbss)
221    *(.bss)
222    *(.bss.*)
223    *(.gnu.linkonce.b.*)
224    *(COMMON)
225    /* Align here to ensure that the .bss section occupies space up to
226       _end.  Align after .bss to ensure correct alignment even if the
227       .bss section disappears because there are no input sections.  */
228    . = ALIGN(64 / 8);
229   }
230   . = ALIGN(64 / 8);
231   _end = .;
232   PROVIDE (end = .);
233   /* Stabs debugging sections.  */
234   .stab 0 : { *(.stab) }
235   .stabstr 0 : { *(.stabstr) }
236   .stab.excl 0 : { *(.stab.excl) }
237   .stab.exclstr 0 : { *(.stab.exclstr) }
238   .stab.index 0 : { *(.stab.index) }
239   .stab.indexstr 0 : { *(.stab.indexstr) }
240   .comment 0 : { *(.comment) }
241   /* DWARF debug sections.
242      Symbols in the DWARF debugging sections are relative to the beginning
243      of the section so we begin them at 0.  */
244   /* DWARF 1 */
245   .debug          0 : { *(.debug) }
246   .line           0 : { *(.line) }
247   /* GNU DWARF 1 extensions */
248   .debug_srcinfo  0 : { *(.debug_srcinfo) }
249   .debug_sfnames  0 : { *(.debug_sfnames) }
250   /* DWARF 1.1 and DWARF 2 */
251   .debug_aranges  0 : { *(.debug_aranges) }
252   .debug_pubnames 0 : { *(.debug_pubnames) }
253   /* DWARF 2 */
254   .debug_info     0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
255   .debug_abbrev   0 : { *(.debug_abbrev) }
256   .debug_line     0 : { *(.debug_line) }
257   .debug_frame    0 : { *(.debug_frame) }
258   .debug_str      0 : { *(.debug_str) }
259   .debug_loc      0 : { *(.debug_loc) }
260   .debug_macinfo  0 : { *(.debug_macinfo) }
261   /* SGI/MIPS DWARF 2 extensions */
262   .debug_weaknames 0 : { *(.debug_weaknames) }
263   .debug_funcnames 0 : { *(.debug_funcnames) }
264   .debug_typenames 0 : { *(.debug_typenames) }
265   .debug_varnames  0 : { *(.debug_varnames) }
266   /* These must appear regardless of  .  */
267 }