source: rtems/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base @ 40c623a8

5
Last change on this file since 40c623a8 was 40c623a8, checked in by Joel Sherrill <joel@…>, on 09/21/17 at 20:20:29

powerpc/shared/startup/linkcmds.base: Add wildcards on some sections

Closes #3307.

  • Property mode set to 100644
File size: 14.7 KB
RevLine 
[e635abf]1/**
2 * @file
3 *
4 * @ingroup bsp_linker
5 *
6 * @brief Linker command base file.
7 */
8
9/*
[ccda9459]10 * Copyright (c) 2011, 2016 embedded brains GmbH.  All rights reserved.
[e635abf]11 *
12 *  embedded brains GmbH
[bc820946]13 *  Dornierstr. 4
[e635abf]14 *  82178 Puchheim
15 *  Germany
16 *  <rtems@embedded-brains.de>
17 *
18 * The license and distribution terms for this file may be
19 * found in the file LICENSE in this distribution or at
[c499856]20 * http://www.rtems.org/license/LICENSE.
[e635abf]21 */
22
23ENTRY (_start)
[f33d3b4]24STARTUP (start.o)
[e635abf]25
26/*
27 * Global symbols that may be defined externally
28 */
29
30bsp_section_xbarrier_align = DEFINED (bsp_section_xbarrier_align) ? bsp_section_xbarrier_align : 1;
31bsp_section_robarrier_align = DEFINED (bsp_section_robarrier_align) ? bsp_section_robarrier_align : 1;
32bsp_section_rwbarrier_align = DEFINED (bsp_section_rwbarrier_align) ? bsp_section_rwbarrier_align : 1;
33
[fd153c73]34MEMORY {
35        UNEXPECTED_SECTIONS : ORIGIN = 0xffffffff, LENGTH = 0
36}
37
[e635abf]38SECTIONS {
[43c6268]39        .start : ALIGN_WITH_INPUT {
[e635abf]40                bsp_section_start_begin = .;
41                KEEP (*(.bsp_start_text))
42                KEEP (*(.bsp_start_data))
43                bsp_section_start_end = .;
44        } > REGION_START AT > REGION_START
45        bsp_section_start_size = bsp_section_start_end - bsp_section_start_begin;
46
[43c6268]47        .xbarrier : ALIGN_WITH_INPUT {
[e635abf]48                . = ALIGN (bsp_section_xbarrier_align);
[bba0e09]49        } > REGION_TEXT AT > REGION_TEXT
[e635abf]50
[43c6268]51        .text : ALIGN_WITH_INPUT {
[e635abf]52                bsp_section_text_begin = .;
[c383372]53                *(SORT(.bsp_text*))
[e635abf]54                *(.text.unlikely .text.*_unlikely)
55                *(.text .stub .text.* .gnu.linkonce.t.*)
56                *(.gnu.warning)
[60d077f]57                *(.sfpr .glink)
[43c6268]58        } > REGION_TEXT AT > REGION_TEXT_LOAD
59        .init : ALIGN_WITH_INPUT {
[e635abf]60                KEEP (*(.init))
[43c6268]61        } > REGION_TEXT AT > REGION_TEXT_LOAD
62        .fini : ALIGN_WITH_INPUT {
[e635abf]63                PROVIDE (_fini = .);
64                KEEP (*(.fini))
65                bsp_section_text_end = .;
66        } > REGION_TEXT AT > REGION_TEXT_LOAD
67        bsp_section_text_size = bsp_section_text_end - bsp_section_text_begin;
68        bsp_section_text_load_begin = LOADADDR (.text);
69        bsp_section_text_load_end = bsp_section_text_load_begin + bsp_section_text_size;
70
[43c6268]71        .fast_text : ALIGN_WITH_INPUT {
[d33f743]72                bsp_section_fast_text_begin = .;
73                *(.bsp_fast_text)
74                bsp_section_fast_text_end = .;
75        } > REGION_FAST_TEXT AT > REGION_FAST_TEXT_LOAD
76        bsp_section_fast_text_size = bsp_section_fast_text_end - bsp_section_fast_text_begin;
77        bsp_section_fast_text_load_begin = LOADADDR (.fast_text);
78        bsp_section_fast_text_load_end = bsp_section_fast_text_load_begin + bsp_section_fast_text_size;
79
[43c6268]80        .robarrier : ALIGN_WITH_INPUT {
[e635abf]81                . = ALIGN (bsp_section_robarrier_align);
[bba0e09]82        } > REGION_RODATA AT > REGION_RODATA
[e635abf]83
[43c6268]84        .rodata : ALIGN_WITH_INPUT {
[e635abf]85                bsp_section_rodata_begin = .;
[574ab8a]86                *(SORT(.bsp_rodata*))
[e635abf]87                *(.rodata .rodata.* .gnu.linkonce.r.*)
[43c6268]88        } > REGION_RODATA AT > REGION_RODATA_LOAD
89        .rodata1 : ALIGN_WITH_INPUT {
[e635abf]90                *(.rodata1)
[43c6268]91        } > REGION_RODATA AT > REGION_RODATA_LOAD
92        .sdata2 : ALIGN_WITH_INPUT {
93                PROVIDE (_SDA2_BASE_ = 32768);
94                *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
95        } > REGION_RODATA AT > REGION_RODATA_LOAD
96        .sbss2 : ALIGN_WITH_INPUT {
97                *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
98        } > REGION_RODATA AT > REGION_RODATA_LOAD
99        .eh_frame_hdr : ALIGN_WITH_INPUT {
[e635abf]100                *(.eh_frame_hdr)
[43c6268]101        } > REGION_RODATA AT > REGION_RODATA_LOAD
102        .eh_frame : ALIGN_WITH_INPUT {
[40c623a8]103                KEEP (*(*.eh_frame))
[43c6268]104        } > REGION_RODATA AT > REGION_RODATA_LOAD
105        .gcc_except_table : ALIGN_WITH_INPUT {
[40c623a8]106                *(.gcc_except_table *.gcc_except_table.*)
[43c6268]107        } > REGION_RODATA AT > REGION_RODATA_LOAD
108        .tdata : ALIGN_WITH_INPUT {
[960fd85]109                _TLS_Data_begin = .;
[e635abf]110                *(.tdata .tdata.* .gnu.linkonce.td.*)
[960fd85]111                _TLS_Data_end = .;
[43c6268]112        } > REGION_RODATA AT > REGION_RODATA_LOAD
113        .tbss : ALIGN_WITH_INPUT {
[960fd85]114                _TLS_BSS_begin = .;
[e635abf]115                *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
[960fd85]116                _TLS_BSS_end = .;
[43c6268]117        } > REGION_RODATA AT > REGION_RODATA_LOAD
[960fd85]118        _TLS_Data_size = _TLS_Data_end - _TLS_Data_begin;
[d60e760]119        _TLS_Data_begin = _TLS_Data_size != 0 ? _TLS_Data_begin : _TLS_BSS_begin;
120        _TLS_Data_end = _TLS_Data_size != 0 ? _TLS_Data_end : _TLS_BSS_begin;
[960fd85]121        _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin;
122        _TLS_Size = _TLS_BSS_end - _TLS_Data_begin;
[d60e760]123        _TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss));
[43c6268]124        .preinit_array : ALIGN_WITH_INPUT {
[e635abf]125                PROVIDE_HIDDEN (__preinit_array_start = .);
126                KEEP (*(.preinit_array))
127                PROVIDE_HIDDEN (__preinit_array_end = .);
[43c6268]128        } > REGION_RODATA AT > REGION_RODATA_LOAD
129        .init_array : ALIGN_WITH_INPUT {
[e635abf]130                PROVIDE_HIDDEN (__init_array_start = .);
131                KEEP (*(SORT(.init_array.*)))
132                KEEP (*(.init_array))
133                PROVIDE_HIDDEN (__init_array_end = .);
[43c6268]134        } > REGION_RODATA AT > REGION_RODATA_LOAD
135        .fini_array : ALIGN_WITH_INPUT {
[e635abf]136                PROVIDE_HIDDEN (__fini_array_start = .);
137                KEEP (*(SORT(.fini_array.*)))
138                KEEP (*(.fini_array))
139                PROVIDE_HIDDEN (__fini_array_end = .);
[43c6268]140        } > REGION_RODATA AT > REGION_RODATA_LOAD
141        .ctors : ALIGN_WITH_INPUT {
[e635abf]142                KEEP (*crtbegin.o(.ctors))
143                KEEP (*crtbegin?.o(.ctors))
144                KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
145                KEEP (*(SORT(.ctors.*)))
146                KEEP (*(.ctors))
[43c6268]147        } > REGION_RODATA AT > REGION_RODATA_LOAD
148        .dtors : ALIGN_WITH_INPUT {
[e635abf]149                KEEP (*crtbegin.o(.dtors))
150                KEEP (*crtbegin?.o(.dtors))
151                KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
152                KEEP (*(SORT(.dtors.*)))
153                KEEP (*(.dtors))
[43c6268]154        } > REGION_RODATA AT > REGION_RODATA_LOAD
155        .jcr : ALIGN_WITH_INPUT {
[e635abf]156                KEEP (*(.jcr))
[43c6268]157        } > REGION_RODATA AT > REGION_RODATA_LOAD
158        .data.rel.ro : ALIGN_WITH_INPUT {
[e635abf]159                *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*)
[43c6268]160        } > REGION_RODATA AT > REGION_RODATA_LOAD
161        .fixup : ALIGN_WITH_INPUT {
[e635abf]162                *(.fixup)
[43c6268]163        } > REGION_RODATA AT > REGION_RODATA_LOAD
164        .dynamic : ALIGN_WITH_INPUT {
[e635abf]165                *(.dynamic)
[43c6268]166        } > REGION_RODATA AT > REGION_RODATA_LOAD
[60d077f]167        .opd : ALIGN_WITH_INPUT {
168                KEEP (*(.opd))
169        } > REGION_RODATA AT > REGION_RODATA_LOAD
170        .tm_clone_table : ALIGN_WITH_INPUT {
171                *(.tm_clone_table)
172        } > REGION_RODATA AT > REGION_RODATA_LOAD
173        .toc1 : ALIGN_WITH_INPUT {
174                *(.toc1)
175        } > REGION_RODATA AT > REGION_RODATA_LOAD
176        .branch_lt : ALIGN_WITH_INPUT {
177                *(.branch_lt)
178        } > REGION_RODATA AT > REGION_RODATA_LOAD
[43c6268]179        .got1 : ALIGN_WITH_INPUT {
[e635abf]180                *(.got1)
[43c6268]181        } > REGION_RODATA AT > REGION_RODATA_LOAD
182        .got2 : ALIGN_WITH_INPUT {
[e635abf]183                *(.got2)
[43c6268]184        } > REGION_RODATA AT > REGION_RODATA_LOAD
185        .got : ALIGN_WITH_INPUT {
[e635abf]186                *(.got)
[43c6268]187        } > REGION_RODATA AT > REGION_RODATA_LOAD
[60d077f]188        .toc : ALIGN_WITH_INPUT {
189                *(.toc)
190        } > REGION_RODATA AT > REGION_RODATA_LOAD
[43c6268]191        .plt : ALIGN_WITH_INPUT {
[e635abf]192                *(.plt)
[43c6268]193        } > REGION_RODATA AT > REGION_RODATA_LOAD
194        .iplt : ALIGN_WITH_INPUT {
[e635abf]195                *(.iplt)
[43c6268]196        } > REGION_RODATA AT > REGION_RODATA_LOAD
197        .interp : ALIGN_WITH_INPUT {
[e635abf]198                *(.interp)
[43c6268]199        } > REGION_RODATA AT > REGION_RODATA_LOAD
200        .note.gnu.build-id : ALIGN_WITH_INPUT {
[e635abf]201                *(.note.gnu.build-id)
[43c6268]202        } > REGION_RODATA AT > REGION_RODATA_LOAD
203        .hash : ALIGN_WITH_INPUT {
[e635abf]204                *(.hash)
[43c6268]205        } > REGION_RODATA AT > REGION_RODATA_LOAD
206        .gnu.hash : ALIGN_WITH_INPUT {
[e635abf]207                *(.gnu.hash)
[43c6268]208        } > REGION_RODATA AT > REGION_RODATA_LOAD
209        .dynsym : ALIGN_WITH_INPUT {
[e635abf]210                *(.dynsym)
[43c6268]211        } > REGION_RODATA AT > REGION_RODATA_LOAD
212        .dynstr : ALIGN_WITH_INPUT {
[e635abf]213                *(.dynstr)
[43c6268]214        } > REGION_RODATA AT > REGION_RODATA_LOAD
215        .gnu.version : ALIGN_WITH_INPUT {
[e635abf]216                *(.gnu.version)
[43c6268]217        } > REGION_RODATA AT > REGION_RODATA_LOAD
218        .gnu.version_d : ALIGN_WITH_INPUT {
[e635abf]219                *(.gnu.version_d)
[43c6268]220        } > REGION_RODATA AT > REGION_RODATA_LOAD
221        .gnu.version_r : ALIGN_WITH_INPUT {
[e635abf]222                *(.gnu.version_r)
[43c6268]223        } > REGION_RODATA AT > REGION_RODATA_LOAD
224        .rela.dyn : ALIGN_WITH_INPUT {
[e635abf]225                *(.rela.init)
226                *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
227                *(.rela.fini)
228                *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
229                *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
230                *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
231                *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
232                *(.rela.ctors)
233                *(.rela.dtors)
234                *(.rela.got)
235                *(.rela.got1)
236                *(.rela.got2)
237                *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
238                *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
239                *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
240                *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
241                *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
[1fcdd639]242                *(.rela.rtemsroset*)
243                *(.rela.rtemsrwset*)
[e635abf]244                PROVIDE_HIDDEN (__rel_iplt_start = .);
245                PROVIDE_HIDDEN (__rel_iplt_end = .);
246                PROVIDE_HIDDEN (__rela_iplt_start = .);
247                *(.rela.iplt)
248                PROVIDE_HIDDEN (__rela_iplt_end = .);
[43c6268]249        } > REGION_RODATA AT > REGION_RODATA_LOAD
250        .rela.plt : ALIGN_WITH_INPUT {
[e635abf]251                *(.rela.plt)
[43c6268]252        } > REGION_RODATA AT > REGION_RODATA_LOAD
[e4927ece]253        .rtemsroset : ALIGN_WITH_INPUT {
[e635abf]254                /* Special FreeBSD linker set sections */
255                __start_set_sysctl_set = .;
256                *(set_sysctl_*);
257                __stop_set_sysctl_set = .;
258                *(set_domain_*);
259                *(set_pseudo_*);
260
[40c623a8]261                KEEP (*(SORT(*.rtemsroset.*)))
[e635abf]262                bsp_section_rodata_end = .;
263        } > REGION_RODATA AT > REGION_RODATA_LOAD
264        bsp_section_rodata_size = bsp_section_rodata_end - bsp_section_rodata_begin;
265        bsp_section_rodata_load_begin = LOADADDR (.rodata);
266        bsp_section_rodata_load_end = bsp_section_rodata_load_begin + bsp_section_rodata_size;
267
[43c6268]268        .rwbarrier : ALIGN_WITH_INPUT {
[e635abf]269                . = ALIGN (bsp_section_rwbarrier_align);
[bba0e09]270        } > REGION_DATA AT > REGION_DATA
[e635abf]271
[43c6268]272        .fast_data : ALIGN_WITH_INPUT {
[e635abf]273                bsp_section_fast_data_begin = .;
[574ab8a]274                *(SORT(.bsp_fast_data*))
[e635abf]275                bsp_section_fast_data_end = .;
276        } > REGION_FAST_DATA AT > REGION_FAST_DATA_LOAD
277        bsp_section_fast_data_size = bsp_section_fast_data_end - bsp_section_fast_data_begin;
278        bsp_section_fast_data_load_begin = LOADADDR (.fast_data);
279        bsp_section_fast_data_load_end = bsp_section_fast_data_load_begin + bsp_section_fast_data_size;
280
[43c6268]281        .data : ALIGN_WITH_INPUT {
[e635abf]282                bsp_section_data_begin = .;
[574ab8a]283                *(SORT(.bsp_data*))
[e635abf]284                *(.data .data.* .gnu.linkonce.d.*)
285                SORT(CONSTRUCTORS)
[43c6268]286        } > REGION_DATA AT > REGION_DATA_LOAD
287        .data1 : ALIGN_WITH_INPUT {
[e635abf]288                *(.data1)
[43c6268]289        } > REGION_DATA AT > REGION_DATA_LOAD
[e4927ece]290        .rtemsrwset : ALIGN_WITH_INPUT {
291                KEEP (*(SORT(.rtemsrwset.*)))
[43c6268]292        } > REGION_DATA AT > REGION_DATA_LOAD
293        .sdata : ALIGN_WITH_INPUT {
294                PROVIDE (_SDA_BASE_ = 32768);
295                *(.sdata .sdata.* .gnu.linkonce.s.*)
[e635abf]296                bsp_section_data_end = .;
297        } > REGION_DATA AT > REGION_DATA_LOAD
298        bsp_section_data_size = bsp_section_data_end - bsp_section_data_begin;
299        bsp_section_data_load_begin = LOADADDR (.data);
300        bsp_section_data_load_end = bsp_section_data_load_begin + bsp_section_data_size;
301
[43c6268]302        .sbss : ALIGN_WITH_INPUT {
[e635abf]303                bsp_section_sbss_begin = .;
304                *(.dynsbss)
305                *(.sbss .sbss.* .gnu.linkonce.sb.*)
306                *(.scommon)
307                bsp_section_sbss_end = .;
308        } > REGION_DATA AT > REGION_DATA
309        bsp_section_sbss_size = bsp_section_sbss_end - bsp_section_sbss_begin;
310
[43c6268]311        .bss : ALIGN_WITH_INPUT {
[e635abf]312                bsp_section_bss_begin = .;
313                *(.dynbss)
314                *(.bss .bss.* .gnu.linkonce.b.*)
315                *(COMMON)
316                bsp_section_bss_end = .;
317        } > REGION_BSS AT > REGION_BSS
318        bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_begin;
319
[43c6268]320        .rwextra : ALIGN_WITH_INPUT {
[e635abf]321                bsp_section_rwextra_begin = .;
322                *(.bsp_rwextra)
323                bsp_section_rwextra_end = .;
324        } > REGION_RWEXTRA AT > REGION_RWEXTRA
325        bsp_section_rwextra_size = bsp_section_rwextra_end - bsp_section_rwextra_begin;
326
[43c6268]327        .work : ALIGN_WITH_INPUT {
[e635abf]328                /*
329                 * The work section will occupy the remaining REGION_WORK region and
330                 * contains the RTEMS work space and heap.
331                 */
332                bsp_section_work_begin = .;
333                . += ORIGIN (REGION_WORK) + LENGTH (REGION_WORK) - ABSOLUTE (.);
334                bsp_section_work_end = .;
335        } > REGION_WORK AT > REGION_WORK
336        bsp_section_work_size = bsp_section_work_end - bsp_section_work_begin;
337
[43c6268]338        .stack : ALIGN_WITH_INPUT {
[e635abf]339                /*
340                 * The stack section will occupy the remaining REGION_STACK region and may
341                 * contain the task stacks.  Depending on the region distribution this
342                 * section may be of zero size.
343                 */
344                bsp_section_stack_begin = .;
345                . += ORIGIN (REGION_STACK) + LENGTH (REGION_STACK) - ABSOLUTE (.);
346                bsp_section_stack_end = .;
347        } > REGION_STACK AT > REGION_STACK
348        bsp_section_stack_size = bsp_section_stack_end - bsp_section_stack_begin;
349
[43c6268]350        .nocache : ALIGN_WITH_INPUT {
[d1018534]351                bsp_section_nocache_begin = .;
[ccda9459]352                *(SORT_BY_ALIGNMENT (SORT_BY_NAME (.bsp_nocache*)))
[d1018534]353                bsp_section_nocache_end = .;
[6273201]354        } > REGION_NOCACHE AT > REGION_NOCACHE_LOAD
[d1018534]355        bsp_section_nocache_size = bsp_section_nocache_end - bsp_section_nocache_begin;
[6273201]356        bsp_section_nocache_load_begin = LOADADDR (.nocache);
357        bsp_section_nocache_load_end = bsp_section_nocache_load_begin + bsp_section_nocache_size;
[d1018534]358
[53c99b8]359        .nocachenoload (NOLOAD) : ALIGN_WITH_INPUT {
360                bsp_section_nocachenoload_begin = .;
[ccda9459]361                *(SORT_BY_ALIGNMENT (SORT_BY_NAME (.bsp_noload_nocache*)))
[bc820946]362                bsp_section_nocacheheap_begin = .;
363                . += ORIGIN (REGION_NOCACHE) + LENGTH (REGION_NOCACHE) - ABSOLUTE (.);
364                bsp_section_nocacheheap_end = .;
[53c99b8]365                bsp_section_nocachenoload_end = .;
[bc820946]366        } > REGION_NOCACHE AT > REGION_NOCACHE
367        bsp_section_nocacheheap_size = bsp_section_nocacheheap_end - bsp_section_nocacheheap_begin;
[53c99b8]368        bsp_section_nocachenoload_size = bsp_section_nocachenoload_end - bsp_section_nocachenoload_begin;
[bc820946]369
[43c6268]370        .nvram (NOLOAD) : ALIGN_WITH_INPUT {
[113768f]371                bsp_section_nvram_begin = .;
[ccda9459]372                *(SORT_BY_ALIGNMENT (SORT_BY_NAME (.bsp_nvram*)))
[113768f]373                bsp_section_nvram_end = .;
[bc820946]374        } > REGION_NVRAM AT > REGION_NVRAM
[113768f]375        bsp_section_nvram_size = bsp_section_nvram_end - bsp_section_nvram_begin;
376
[e635abf]377        /* FIXME */
378        RamBase = ORIGIN (REGION_WORK);
379        RamSize = LENGTH (REGION_WORK);
380        WorkAreaBase = bsp_section_work_begin;
381        HeapSize = 0;
382
383        /* Stabs debugging sections.  */
384        .stab          0 : { *(.stab) }
385        .stabstr       0 : { *(.stabstr) }
386        .stab.excl     0 : { *(.stab.excl) }
387        .stab.exclstr  0 : { *(.stab.exclstr) }
388        .stab.index    0 : { *(.stab.index) }
389        .stab.indexstr 0 : { *(.stab.indexstr) }
390        .comment       0 : { *(.comment) }
391        /* DWARF debug sections.
392           Symbols in the DWARF debugging sections are relative to the beginning
393           of the section so we begin them at 0.  */
394        /* DWARF 1 */
395        .debug          0 : { *(.debug) }
396        .line           0 : { *(.line) }
397        /* GNU DWARF 1 extensions */
[4800ffe]398        .debug_srcinfo  0 : { *(.debug_srcinfo) }
399        .debug_sfnames  0 : { *(.debug_sfnames) }
[e635abf]400        /* DWARF 1.1 and DWARF 2 */
[4800ffe]401        .debug_aranges  0 : { *(.debug_aranges) }
402        .debug_pubnames 0 : { *(.debug_pubnames) }
[e635abf]403        /* DWARF 2 */
[4800ffe]404        .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
405        .debug_abbrev   0 : { *(.debug_abbrev) }
406        .debug_line     0 : { *(.debug_line .debug_line.* .debug_line_end ) }
407        .debug_frame    0 : { *(.debug_frame) }
408        .debug_str      0 : { *(.debug_str) }
409        .debug_loc      0 : { *(.debug_loc) }
410        .debug_macinfo  0 : { *(.debug_macinfo) }
[e635abf]411        /* SGI/MIPS DWARF 2 extensions */
[4800ffe]412        .debug_weaknames 0 : { *(.debug_weaknames) }
413        .debug_funcnames 0 : { *(.debug_funcnames) }
414        .debug_typenames 0 : { *(.debug_typenames) }
415        .debug_varnames  0 : { *(.debug_varnames) }
[e635abf]416        /* DWARF 3 */
[4800ffe]417        .debug_pubtypes 0 : { *(.debug_pubtypes) }
418        .debug_ranges   0 : { *(.debug_ranges) }
419        /* DWARF Extension.  */
[df6818f9]420        .debug_macro    0 : { *(.debug_macro) }
[e635abf]421        .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
422        .PPC.EMB.apuinfo 0 : { *(.PPC.EMB.apuinfo) }
423        /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
424
[fd153c73]425        /*
426         * This is a RTEMS specific section to catch all unexpected input
427         * sections.  In case you get an error like
428         *   "section `.unexpected_sections' will not fit in region
429         *   `UNEXPECTED_SECTIONS'"
430         * you have to figure out the offending input section and add it to the
431         * appropriate output section definition above.
432         */
433        .unexpected_sections : { *(*) } > UNEXPECTED_SECTIONS
[e635abf]434}
Note: See TracBrowser for help on using the repository browser.