Warning, /bsps/arm/shared/start/linkcmds.base is written in an unsupported language. File is not indexed.
0001 /**
0002 * @file
0003 *
0004 * @ingroup bsp_linker
0005 *
0006 * @brief Linker command base file.
0007 */
0008
0009 /*
0010 * Copyright (C) 2008, 2016 embedded brains GmbH & Co. KG
0011 *
0012 * The license and distribution terms for this file may be
0013 * found in the file LICENSE in this distribution or at
0014 * http://www.rtems.org/license/LICENSE.
0015 */
0016
0017 OUTPUT_FORMAT ("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
0018
0019 OUTPUT_ARCH (arm)
0020
0021 ENTRY (_start)
0022 STARTUP (start.o)
0023
0024 /*
0025 * Global symbols that may be defined externally
0026 */
0027
0028 bsp_vector_table_size = DEFINED (bsp_vector_table_size) ? bsp_vector_table_size : 64;
0029
0030 bsp_section_xbarrier_align = DEFINED (bsp_section_xbarrier_align) ? bsp_section_xbarrier_align : 1;
0031 bsp_section_robarrier_align = DEFINED (bsp_section_robarrier_align) ? bsp_section_robarrier_align : 1;
0032 bsp_section_rwbarrier_align = DEFINED (bsp_section_rwbarrier_align) ? bsp_section_rwbarrier_align : 1;
0033
0034 bsp_stack_align = DEFINED (bsp_stack_align) ? bsp_stack_align : 8;
0035
0036 bsp_stack_abt_size = DEFINED (bsp_stack_abt_size) ? bsp_stack_abt_size : 0;
0037 bsp_stack_abt_size = ALIGN (bsp_stack_abt_size, bsp_stack_align);
0038
0039 bsp_stack_fiq_size = DEFINED (bsp_stack_fiq_size) ? bsp_stack_fiq_size : 0;
0040 bsp_stack_fiq_size = ALIGN (bsp_stack_fiq_size, bsp_stack_align);
0041
0042 bsp_stack_und_size = DEFINED (bsp_stack_und_size) ? bsp_stack_und_size : 0;
0043 bsp_stack_und_size = ALIGN (bsp_stack_und_size, bsp_stack_align);
0044
0045 bsp_stack_hyp_size = DEFINED (bsp_stack_hyp_size) ? bsp_stack_hyp_size : 0;
0046 bsp_stack_hyp_size = ALIGN (bsp_stack_hyp_size, bsp_stack_align);
0047
0048 MEMORY {
0049 UNEXPECTED_SECTIONS : ORIGIN = 0xffffffff, LENGTH = 0
0050 }
0051
0052 SECTIONS {
0053 .start : ALIGN_WITH_INPUT {
0054 bsp_section_start_begin = .;
0055 KEEP (*(.bsp_start_text))
0056 KEEP (*(.bsp_start_data))
0057 bsp_section_start_end = .;
0058 } > REGION_START AT > REGION_START
0059 bsp_section_start_size = bsp_section_start_end - bsp_section_start_begin;
0060
0061 .xbarrier : ALIGN_WITH_INPUT {
0062 . = ALIGN (bsp_section_xbarrier_align);
0063 } > REGION_VECTOR AT > REGION_VECTOR
0064
0065 .text : ALIGN_WITH_INPUT {
0066 bsp_section_text_begin = .;
0067 *(.text.unlikely .text.*_unlikely)
0068 *(.text .stub .text.* .gnu.linkonce.t.*)
0069 /* .gnu.warning sections are handled specially by elf32.em. */
0070 *(.gnu.warning)
0071 *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)
0072 } > REGION_TEXT AT > REGION_TEXT_LOAD
0073 .init : ALIGN_WITH_INPUT {
0074 KEEP (*(.init))
0075 } > REGION_TEXT AT > REGION_TEXT_LOAD
0076 .fini : ALIGN_WITH_INPUT {
0077 KEEP (*(.fini))
0078
0079 /*
0080 * If requested, align the size of the combined start and text
0081 * section to the next power of two to meet MPU region
0082 * alignment requirements.
0083 */
0084 . = DEFINED (bsp_align_text_and_rodata_end_to_power_of_2) ?
0085 bsp_section_start_begin
0086 + ALIGN (. - bsp_section_start_begin,
0087 1 << LOG2CEIL (. - bsp_section_start_begin)) : .;
0088
0089 bsp_section_text_end = .;
0090 } > REGION_TEXT AT > REGION_TEXT_LOAD
0091 bsp_section_text_size = bsp_section_text_end - bsp_section_text_begin;
0092 bsp_section_text_load_begin = LOADADDR (.text);
0093 bsp_section_text_load_end = bsp_section_text_load_begin + bsp_section_text_size;
0094
0095 .robarrier : ALIGN_WITH_INPUT {
0096 . = ALIGN (bsp_section_robarrier_align);
0097 } > REGION_RODATA AT > REGION_RODATA
0098
0099 .rodata : ALIGN_WITH_INPUT {
0100 bsp_section_rodata_begin = .;
0101 *(.rodata .rodata.* .gnu.linkonce.r.*)
0102 } > REGION_RODATA AT > REGION_RODATA_LOAD
0103 .rodata1 : ALIGN_WITH_INPUT {
0104 *(.rodata1)
0105 } > REGION_RODATA AT > REGION_RODATA_LOAD
0106 .ARM.extab : ALIGN_WITH_INPUT {
0107 *(.ARM.extab* .gnu.linkonce.armextab.*)
0108 } > REGION_RODATA AT > REGION_RODATA_LOAD
0109 .ARM.exidx : ALIGN_WITH_INPUT {
0110 __exidx_start = .;
0111 *(.ARM.exidx* .gnu.linkonce.armexidx.*)
0112 __exidx_end = .;
0113 } > REGION_RODATA AT > REGION_RODATA_LOAD
0114 .eh_frame : ALIGN_WITH_INPUT {
0115 KEEP (*(.eh_frame))
0116 } > REGION_RODATA AT > REGION_RODATA_LOAD
0117 .gcc_except_table : ALIGN_WITH_INPUT {
0118 *(.gcc_except_table .gcc_except_table.*)
0119 } > REGION_RODATA AT > REGION_RODATA_LOAD
0120 .tdata : ALIGN_WITH_INPUT {
0121 _TLS_Data_begin = .;
0122 *(.tdata .tdata.* .gnu.linkonce.td.*)
0123 _TLS_Data_end = .;
0124 } > REGION_RODATA AT > REGION_RODATA_LOAD
0125 .tbss : ALIGN_WITH_INPUT {
0126 _TLS_BSS_begin = .;
0127 *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
0128 _TLS_BSS_end = .;
0129 } > REGION_RODATA AT > REGION_RODATA_LOAD
0130 _TLS_Data_size = _TLS_Data_end - _TLS_Data_begin;
0131 _TLS_Data_begin = _TLS_Data_size != 0 ? _TLS_Data_begin : _TLS_BSS_begin;
0132 _TLS_Data_end = _TLS_Data_size != 0 ? _TLS_Data_end : _TLS_BSS_begin;
0133 _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin;
0134 _TLS_Size = _TLS_BSS_end - _TLS_Data_begin;
0135 _TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss));
0136 .preinit_array : ALIGN_WITH_INPUT {
0137 PROVIDE_HIDDEN (__preinit_array_start = .);
0138 KEEP (*(.preinit_array))
0139 PROVIDE_HIDDEN (__preinit_array_end = .);
0140 } > REGION_RODATA AT > REGION_RODATA_LOAD
0141 .init_array : ALIGN_WITH_INPUT {
0142 PROVIDE_HIDDEN (__init_array_start = .);
0143 KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))
0144 KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors))
0145 PROVIDE_HIDDEN (__init_array_end = .);
0146 } > REGION_RODATA AT > REGION_RODATA_LOAD
0147 .fini_array : ALIGN_WITH_INPUT {
0148 PROVIDE_HIDDEN (__fini_array_start = .);
0149 KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))
0150 KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))
0151 PROVIDE_HIDDEN (__fini_array_end = .);
0152 } > REGION_RODATA AT > REGION_RODATA_LOAD
0153 .data.rel.ro : ALIGN_WITH_INPUT {
0154 *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*)
0155 *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*)
0156 } > REGION_RODATA AT > REGION_RODATA_LOAD
0157 .jcr : ALIGN_WITH_INPUT {
0158 KEEP (*(.jcr))
0159 } > REGION_RODATA AT > REGION_RODATA_LOAD
0160 .interp : ALIGN_WITH_INPUT {
0161 *(.interp)
0162 } > REGION_RODATA AT > REGION_RODATA_LOAD
0163 .note.gnu.build-id : ALIGN_WITH_INPUT {
0164 *(.note.gnu.build-id)
0165 } > REGION_RODATA AT > REGION_RODATA_LOAD
0166 .hash : ALIGN_WITH_INPUT {
0167 *(.hash)
0168 } > REGION_RODATA AT > REGION_RODATA_LOAD
0169 .gnu.hash : ALIGN_WITH_INPUT {
0170 *(.gnu.hash)
0171 } > REGION_RODATA AT > REGION_RODATA_LOAD
0172 .dynsym : ALIGN_WITH_INPUT {
0173 *(.dynsym)
0174 } > REGION_RODATA AT > REGION_RODATA_LOAD
0175 .dynstr : ALIGN_WITH_INPUT {
0176 *(.dynstr)
0177 } > REGION_RODATA AT > REGION_RODATA_LOAD
0178 .gnu.version : ALIGN_WITH_INPUT {
0179 *(.gnu.version)
0180 } > REGION_RODATA AT > REGION_RODATA_LOAD
0181 .gnu.version_d : ALIGN_WITH_INPUT {
0182 *(.gnu.version_d)
0183 } > REGION_RODATA AT > REGION_RODATA_LOAD
0184 .gnu.version_r : ALIGN_WITH_INPUT {
0185 *(.gnu.version_r)
0186 } > REGION_RODATA AT > REGION_RODATA_LOAD
0187 .rel.dyn : ALIGN_WITH_INPUT {
0188 *(.rel.init)
0189 *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
0190 *(.rel.fini)
0191 *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
0192 *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
0193 *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
0194 *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
0195 *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
0196 *(.rel.ctors)
0197 *(.rel.dtors)
0198 *(.rel.got)
0199 *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
0200 PROVIDE_HIDDEN (__rel_iplt_start = .);
0201 *(.rel.iplt)
0202 PROVIDE_HIDDEN (__rel_iplt_end = .);
0203 PROVIDE_HIDDEN (__rela_iplt_start = .);
0204 PROVIDE_HIDDEN (__rela_iplt_end = .);
0205 } > REGION_RODATA AT > REGION_RODATA_LOAD
0206 .rela.dyn : ALIGN_WITH_INPUT {
0207 *(.rela.init)
0208 *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
0209 *(.rela.fini)
0210 *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
0211 *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
0212 *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
0213 *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
0214 *(.rela.ctors)
0215 *(.rela.dtors)
0216 *(.rela.got)
0217 *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
0218 *(.rela.rtemsroset*)
0219 *(.rela.rtemsrwset*)
0220 PROVIDE_HIDDEN (__rel_iplt_start = .);
0221 PROVIDE_HIDDEN (__rel_iplt_end = .);
0222 PROVIDE_HIDDEN (__rela_iplt_start = .);
0223 *(.rela.iplt)
0224 PROVIDE_HIDDEN (__rela_iplt_end = .);
0225 } > REGION_RODATA AT > REGION_RODATA_LOAD
0226 .rel.plt : ALIGN_WITH_INPUT {
0227 *(.rel.plt)
0228 } > REGION_RODATA AT > REGION_RODATA_LOAD
0229 .rela.plt : ALIGN_WITH_INPUT {
0230 *(.rela.plt)
0231 } > REGION_RODATA AT > REGION_RODATA_LOAD
0232 .plt : ALIGN_WITH_INPUT {
0233 *(.plt)
0234 } > REGION_RODATA AT > REGION_RODATA_LOAD
0235 .iplt : ALIGN_WITH_INPUT {
0236 *(.iplt)
0237 } > REGION_RODATA AT > REGION_RODATA_LOAD
0238 .dynamic : ALIGN_WITH_INPUT {
0239 *(.dynamic)
0240 } > REGION_RODATA AT > REGION_RODATA_LOAD
0241 .tm_clone_table : ALIGN_WITH_INPUT {
0242 *(.tm_clone_table)
0243 } > REGION_RODATA AT > REGION_RODATA_LOAD
0244 .got : ALIGN_WITH_INPUT {
0245 *(.got.plt) *(.igot.plt) *(.got) *(.igot)
0246 } > REGION_RODATA AT > REGION_RODATA_LOAD
0247 .rtemsroset : ALIGN_WITH_INPUT {
0248 /* Special FreeBSD linker set sections */
0249 __start_set_sysctl_set = .;
0250 *(set_sysctl_*);
0251 __stop_set_sysctl_set = .;
0252 *(set_domain_*);
0253 *(set_pseudo_*);
0254
0255 KEEP (*(SORT(.rtemsroset.*)))
0256
0257 /*
0258 * If requested, align the size of the rodata section to the
0259 * next power of two to meet MPU region alignment requirements.
0260 */
0261 . = DEFINED (bsp_align_text_and_rodata_end_to_power_of_2) ?
0262 bsp_section_rodata_begin
0263 + ALIGN (. - bsp_section_rodata_begin,
0264 1 << LOG2CEIL (. - bsp_section_rodata_begin)) : .;
0265
0266 bsp_section_rodata_end = .;
0267 } > REGION_RODATA AT > REGION_RODATA_LOAD
0268 bsp_section_rodata_size = bsp_section_rodata_end - bsp_section_rodata_begin;
0269 bsp_section_rodata_load_begin = LOADADDR (.rodata);
0270 bsp_section_rodata_load_end = bsp_section_rodata_load_begin + bsp_section_rodata_size;
0271
0272 .rwbarrier : ALIGN_WITH_INPUT {
0273 . = ALIGN (bsp_section_rwbarrier_align);
0274 } > REGION_DATA AT > REGION_DATA
0275
0276 .vector : ALIGN_WITH_INPUT {
0277 bsp_section_vector_begin = .;
0278 . = . + DEFINED (bsp_vector_table_in_start_section) ? 0 : bsp_vector_table_size;
0279 bsp_section_vector_end = .;
0280 } > REGION_VECTOR AT > REGION_VECTOR
0281 bsp_section_vector_size = bsp_section_vector_end - bsp_section_vector_begin;
0282 bsp_vector_table_begin = DEFINED (bsp_vector_table_in_start_section) ? bsp_section_start_begin : bsp_section_vector_begin;
0283 bsp_vector_table_end = bsp_vector_table_begin + bsp_vector_table_size;
0284
0285 .fast_text : ALIGN_WITH_INPUT {
0286 bsp_section_fast_text_begin = .;
0287 *(SORT_BY_ALIGNMENT (SORT_BY_NAME (.bsp_fast_text*)))
0288 bsp_section_fast_text_end = .;
0289 } > REGION_FAST_TEXT AT > REGION_FAST_TEXT_LOAD
0290 bsp_section_fast_text_size = bsp_section_fast_text_end - bsp_section_fast_text_begin;
0291 bsp_section_fast_text_load_begin = LOADADDR (.fast_text);
0292 bsp_section_fast_text_load_end = bsp_section_fast_text_load_begin + bsp_section_fast_text_size;
0293
0294 .fast_data : ALIGN_WITH_INPUT {
0295 bsp_section_fast_data_begin = .;
0296 *(SORT_BY_ALIGNMENT (SORT_BY_NAME (.bsp_fast_data*)))
0297 bsp_section_fast_data_end = .;
0298 } > REGION_FAST_DATA AT > REGION_FAST_DATA_LOAD
0299 bsp_section_fast_data_size = bsp_section_fast_data_end - bsp_section_fast_data_begin;
0300 bsp_section_fast_data_load_begin = LOADADDR (.fast_data);
0301 bsp_section_fast_data_load_end = bsp_section_fast_data_load_begin + bsp_section_fast_data_size;
0302
0303 .data : ALIGN_WITH_INPUT {
0304 bsp_section_data_begin = .;
0305 *(.data .data.* .gnu.linkonce.d.*)
0306 SORT(CONSTRUCTORS)
0307 } > REGION_DATA AT > REGION_DATA_LOAD
0308 .data1 : ALIGN_WITH_INPUT {
0309 *(.data1)
0310 } > REGION_DATA AT > REGION_DATA_LOAD
0311 .rtemsrwset : ALIGN_WITH_INPUT {
0312 KEEP (*(SORT(.rtemsrwset.*)))
0313 bsp_section_data_end = .;
0314 } > REGION_DATA AT > REGION_DATA_LOAD
0315 bsp_section_data_size = bsp_section_data_end - bsp_section_data_begin;
0316 bsp_section_data_load_begin = LOADADDR (.data);
0317 bsp_section_data_load_end = bsp_section_data_load_begin + bsp_section_data_size;
0318
0319 .bss : ALIGN_WITH_INPUT {
0320 bsp_section_bss_begin = .;
0321 *(.dynbss)
0322 *(.bss .bss.* .gnu.linkonce.b.*)
0323 *(COMMON)
0324 bsp_section_bss_end = .;
0325 } > REGION_BSS AT > REGION_BSS
0326 bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_begin;
0327
0328 .rtemsstack (NOLOAD) : ALIGN_WITH_INPUT {
0329 bsp_section_rtemsstack_begin = .;
0330 *(SORT_BY_ALIGNMENT (SORT_BY_NAME (.rtemsstack*)))
0331 bsp_section_rtemsstack_end = .;
0332 } > REGION_STACK AT > REGION_STACK
0333 bsp_section_rtemsstack_size = bsp_section_rtemsstack_end - bsp_section_rtemsstack_begin;
0334
0335 .noinit (NOLOAD) : ALIGN_WITH_INPUT {
0336 bsp_section_noinit_begin = .;
0337 *(SORT_BY_NAME (SORT_BY_ALIGNMENT (.noinit*)))
0338 bsp_section_noinit_end = .;
0339 } > REGION_WORK AT > REGION_WORK
0340 bsp_section_noinit_size = bsp_section_noinit_end - bsp_section_noinit_begin;
0341
0342 .work : ALIGN_WITH_INPUT {
0343 /*
0344 * The work section will occupy the remaining REGION_WORK region and
0345 * contains the RTEMS work space and heap.
0346 */
0347 bsp_section_work_begin = .;
0348 . += ORIGIN (REGION_WORK) + LENGTH (REGION_WORK) - ABSOLUTE (.);
0349 bsp_section_work_end = .;
0350 } > REGION_WORK AT > REGION_WORK
0351 bsp_section_work_size = bsp_section_work_end - bsp_section_work_begin;
0352
0353 .stack : ALIGN_WITH_INPUT {
0354 /*
0355 * The stack section will occupy the remaining REGION_STACK region and may
0356 * contain the task stacks. Depending on the region distribution this
0357 * section may be of zero size.
0358 */
0359 bsp_section_stack_begin = .;
0360 . += ORIGIN (REGION_STACK) + LENGTH (REGION_STACK) - ABSOLUTE (.);
0361 bsp_section_stack_end = .;
0362 } > REGION_STACK AT > REGION_STACK
0363 bsp_section_stack_size = bsp_section_stack_end - bsp_section_stack_begin;
0364
0365 .nocache : ALIGN_WITH_INPUT {
0366 bsp_section_nocache_begin = .;
0367 *(SORT_BY_ALIGNMENT (SORT_BY_NAME (.bsp_nocache*)))
0368 bsp_section_nocache_end = .;
0369 } > REGION_NOCACHE AT > REGION_NOCACHE_LOAD
0370 bsp_section_nocache_size = bsp_section_nocache_end - bsp_section_nocache_begin;
0371 bsp_section_nocache_load_begin = LOADADDR (.nocache);
0372 bsp_section_nocache_load_end = bsp_section_nocache_load_begin + bsp_section_nocache_size;
0373
0374 .nocachenoload (NOLOAD) : ALIGN_WITH_INPUT {
0375 bsp_section_nocachenoload_begin = .;
0376 *(SORT_BY_ALIGNMENT (SORT_BY_NAME (.bsp_noload_nocache*)))
0377 bsp_section_nocacheheap_begin = .;
0378 . += ORIGIN (REGION_NOCACHE) + LENGTH (REGION_NOCACHE) - ABSOLUTE (.);
0379 bsp_section_nocacheheap_end = .;
0380 bsp_section_nocachenoload_end = .;
0381 } > REGION_NOCACHE AT > REGION_NOCACHE
0382 bsp_section_nocacheheap_size = bsp_section_nocacheheap_end - bsp_section_nocacheheap_begin;
0383 bsp_section_nocachenoload_size = bsp_section_nocachenoload_end - bsp_section_nocachenoload_begin;
0384
0385 /* FIXME */
0386 RamBase = ORIGIN (REGION_WORK);
0387 RamSize = LENGTH (REGION_WORK);
0388 RamEnd = RamBase + RamSize;
0389 WorkAreaBase = bsp_section_work_begin;
0390 HeapSize = 0;
0391
0392 /* Stabs debugging sections. */
0393 .stab 0 : { *(.stab) }
0394 .stabstr 0 : { *(.stabstr) }
0395 .stab.excl 0 : { *(.stab.excl) }
0396 .stab.exclstr 0 : { *(.stab.exclstr) }
0397 .stab.index 0 : { *(.stab.index) }
0398 .stab.indexstr 0 : { *(.stab.indexstr) }
0399 .comment 0 : { *(.comment) }
0400 /* DWARF debug sections.
0401 Symbols in the DWARF debugging sections are relative to the beginning
0402 of the section so we begin them at 0. */
0403 /* DWARF 1. */
0404 .debug 0 : { *(.debug) }
0405 .line 0 : { *(.line) }
0406 /* GNU DWARF 1 extensions. */
0407 .debug_srcinfo 0 : { *(.debug_srcinfo) }
0408 .debug_sfnames 0 : { *(.debug_sfnames) }
0409 /* DWARF 1.1 and DWARF 2. */
0410 .debug_aranges 0 : { *(.debug_aranges) }
0411 .debug_pubnames 0 : { *(.debug_pubnames) }
0412 /* DWARF 2. */
0413 .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
0414 .debug_abbrev 0 : { *(.debug_abbrev) }
0415 .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end) }
0416 .debug_frame 0 : { *(.debug_frame) }
0417 .debug_str 0 : { *(.debug_str) }
0418 .debug_loc 0 : { *(.debug_loc) }
0419 .debug_macinfo 0 : { *(.debug_macinfo) }
0420 /* SGI/MIPS DWARF 2 extensions. */
0421 .debug_weaknames 0 : { *(.debug_weaknames) }
0422 .debug_funcnames 0 : { *(.debug_funcnames) }
0423 .debug_typenames 0 : { *(.debug_typenames) }
0424 .debug_varnames 0 : { *(.debug_varnames) }
0425 /* DWARF 3. */
0426 .debug_pubtypes 0 : { *(.debug_pubtypes) }
0427 .debug_ranges 0 : { *(.debug_ranges) }
0428 /* DWARF 5. */
0429 .debug_addr 0 : { *(.debug_addr) }
0430 .debug_line_str 0 : { *(.debug_line_str) }
0431 .debug_loclists 0 : { *(.debug_loclists) }
0432 .debug_macro 0 : { *(.debug_macro) }
0433 .debug_names 0 : { *(.debug_names) }
0434 .debug_rnglists 0 : { *(.debug_rnglists) }
0435 .debug_str_offsets 0 : { *(.debug_str_offsets) }
0436 .debug_sup 0 : { *(.debug_sup) }
0437 .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }
0438 .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }
0439
0440 /* Addition to let linker know about custom section for GDB pretty-printing support. */
0441 .debug_gdb_scripts 0 : { *(.debug_gdb_scripts) }
0442
0443 /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
0444
0445 /*
0446 * This is a RTEMS specific section to catch all unexpected input
0447 * sections. In case you get an error like
0448 * "section `.unexpected_sections' will not fit in region
0449 * `UNEXPECTED_SECTIONS'"
0450 * you have to figure out the offending input section and add it to the
0451 * appropriate output section definition above.
0452 */
0453 .unexpected_sections : { *(*) } > UNEXPECTED_SECTIONS
0454 }