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