Warning, /spec/build/bsps/riscv/linkcmdsbase.yml is written in an unsupported language. File is not indexed.
0001 SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
0002 build-type: config-file
0003 content: |
0004 /* Copyright (C) 2014-2018 Free Software Foundation, Inc.
0005 Copying and distribution of this script, with or without modification,
0006 are permitted in any medium without royalty provided the copyright
0007 notice and this notice are preserved. */
0008
0009 /*
0010 * Copyright (c) 2018 embedded brains GmbH & Co. KG
0011 *
0012 * Copyright (c) 2015 University of York.
0013 * Hesham ALMatary <hmka501@york.ac.uk>
0014 *
0015 * Redistribution and use in source and binary forms, with or without
0016 * modification, are permitted provided that the following conditions
0017 * are met:
0018 * 1. Redistributions of source code must retain the above copyright
0019 * notice, this list of conditions and the following disclaimer.
0020 * 2. Redistributions in binary form must reproduce the above copyright
0021 * notice, this list of conditions and the following disclaimer in the
0022 * documentation and/or other materials provided with the distribution.
0023 *
0024 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
0025 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0026 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0027 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
0028 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
0029 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
0030 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
0031 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
0032 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
0033 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
0034 * SUCH DAMAGE.
0035 */
0036
0037 OUTPUT_ARCH(riscv)
0038 ENTRY(_start)
0039 ${LINKCMDS_START_DIRECTIVE}(start.o)
0040
0041 bsp_section_robarrier_align = DEFINED (bsp_section_robarrier_align) ? bsp_section_robarrier_align : 1;
0042 bsp_section_rwbarrier_align = DEFINED (bsp_section_rwbarrier_align) ? bsp_section_rwbarrier_align : 1;
0043
0044 MEMORY {
0045 UNEXPECTED_SECTIONS : ORIGIN = 0xffffffff, LENGTH = 0
0046 }
0047
0048 SECTIONS {
0049 .start : ${LINKCMDS_ALIGN_DIRECTIVE} {
0050 bsp_section_start_begin = .;
0051 KEEP (*(.bsp_start_text))
0052 KEEP (*(.bsp_start_data))
0053 bsp_section_start_end = .;
0054 } > REGION_START AT > REGION_START
0055 bsp_section_start_size = bsp_section_start_end - bsp_section_start_begin;
0056
0057 .text : ${LINKCMDS_ALIGN_DIRECTIVE} {
0058 bsp_section_text_begin = .;
0059 *(.text.unlikely .text.*_unlikely .text.unlikely.*)
0060 *(.text.exit .text.exit.*)
0061 *(.text.startup .text.startup.*)
0062 *(.text.hot .text.hot.*)
0063 *(.text .stub .text.* .gnu.linkonce.t.*)
0064 /* .gnu.warning sections are handled specially by elf32.em. */
0065 *(.gnu.warning)
0066 } > REGION_TEXT AT > REGION_TEXT_LOAD
0067 .init : ${LINKCMDS_ALIGN_DIRECTIVE} {
0068 KEEP (*(SORT_NONE(.init)))
0069 } > REGION_TEXT AT > REGION_TEXT_LOAD
0070 .fini : ${LINKCMDS_ALIGN_DIRECTIVE} {
0071 KEEP (*(SORT_NONE(.fini)))
0072 bsp_section_text_end = .;
0073 } > REGION_TEXT AT > REGION_TEXT_LOAD
0074 bsp_section_text_size = bsp_section_text_end - bsp_section_text_begin;
0075 bsp_section_text_load_begin = LOADADDR (.text);
0076 bsp_section_text_load_end = bsp_section_text_load_begin + bsp_section_text_size;
0077
0078 .robarrier : ${LINKCMDS_ALIGN_DIRECTIVE} {
0079 . = ALIGN (bsp_section_robarrier_align);
0080 } > REGION_RODATA AT > REGION_RODATA
0081
0082 .rodata : ${LINKCMDS_ALIGN_DIRECTIVE} {
0083 bsp_section_rodata_begin = .;
0084 *(.rodata .rodata.* .gnu.linkonce.r.*)
0085 } > REGION_RODATA AT > REGION_RODATA_LOAD
0086 .rodata1 : ${LINKCMDS_ALIGN_DIRECTIVE} {
0087 *(.rodata1)
0088 } > REGION_RODATA AT > REGION_RODATA_LOAD
0089 .sdata2 : ${LINKCMDS_ALIGN_DIRECTIVE} {
0090 *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
0091 } > REGION_RODATA AT > REGION_RODATA_LOAD
0092 .sbss2 : ${LINKCMDS_ALIGN_DIRECTIVE} {
0093 *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
0094 } > REGION_RODATA AT > REGION_RODATA_LOAD
0095 .eh_frame_hdr : ${LINKCMDS_ALIGN_DIRECTIVE} {
0096 *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*)
0097 } > REGION_RODATA AT > REGION_RODATA_LOAD
0098 .eh_frame : ${LINKCMDS_ALIGN_DIRECTIVE} {
0099 KEEP (*(.eh_frame)) *(.eh_frame.*)
0100 } > REGION_RODATA AT > REGION_RODATA_LOAD
0101 .gcc_except_table : ${LINKCMDS_ALIGN_DIRECTIVE} {
0102 *(.gcc_except_table .gcc_except_table.*)
0103 } > REGION_RODATA AT > REGION_RODATA_LOAD
0104 .gnu_extab : ${LINKCMDS_ALIGN_DIRECTIVE} {
0105 *(.gnu_extab*)
0106 } > REGION_RODATA AT > REGION_RODATA_LOAD
0107 .tdata : ${LINKCMDS_ALIGN_DIRECTIVE} {
0108 _TLS_Data_begin = .;
0109 *(.tdata .tdata.* .gnu.linkonce.td.*)
0110 _TLS_Data_end = .;
0111 } > REGION_RODATA AT > REGION_RODATA_LOAD
0112 .tbss : ${LINKCMDS_ALIGN_DIRECTIVE} {
0113 _TLS_BSS_begin = .;
0114 *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
0115 _TLS_BSS_end = .;
0116 } > REGION_RODATA AT > REGION_RODATA_LOAD
0117 _TLS_Data_size = _TLS_Data_end - _TLS_Data_begin;
0118 _TLS_Data_begin = _TLS_Data_size != 0 ? _TLS_Data_begin : _TLS_BSS_begin;
0119 _TLS_Data_end = _TLS_Data_size != 0 ? _TLS_Data_end : _TLS_BSS_begin;
0120 _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin;
0121 _TLS_Size = _TLS_BSS_end - _TLS_Data_begin;
0122 _TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss));
0123 .preinit_array : ${LINKCMDS_ALIGN_DIRECTIVE} {
0124 PROVIDE_HIDDEN (__preinit_array_start = .);
0125 KEEP (*(.preinit_array))
0126 PROVIDE_HIDDEN (__preinit_array_end = .);
0127 } > REGION_RODATA AT > REGION_RODATA_LOAD
0128 .init_array : ${LINKCMDS_ALIGN_DIRECTIVE} {
0129 PROVIDE_HIDDEN (__init_array_start = .);
0130 KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))
0131 KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors))
0132 PROVIDE_HIDDEN (__init_array_end = .);
0133 } > REGION_RODATA AT > REGION_RODATA_LOAD
0134 .fini_array : ${LINKCMDS_ALIGN_DIRECTIVE} {
0135 PROVIDE_HIDDEN (__fini_array_start = .);
0136 KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))
0137 KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))
0138 PROVIDE_HIDDEN (__fini_array_end = .);
0139 } > REGION_RODATA AT > REGION_RODATA_LOAD
0140 .ctors : ${LINKCMDS_ALIGN_DIRECTIVE} {
0141 /* gcc uses crtbegin.o to find the start of
0142 the constructors, so we make sure it is
0143 first. Because this is a wildcard, it
0144 doesn't matter if the user does not
0145 actually link against crtbegin.o; the
0146 linker won't look for a file to match a
0147 wildcard. The wildcard also means that it
0148 doesn't matter which directory crtbegin.o
0149 is in. */
0150 KEEP (*crtbegin.o(.ctors))
0151 KEEP (*crtbegin?.o(.ctors))
0152 /* We don't want to include the .ctor section from
0153 the crtend.o file until after the sorted ctors.
0154 The .ctor section from the crtend file contains the
0155 end of ctors marker and it must be last */
0156 KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
0157 KEEP (*(SORT(.ctors.*)))
0158 KEEP (*(.ctors))
0159 } > REGION_RODATA AT > REGION_RODATA_LOAD
0160 .dtors : ${LINKCMDS_ALIGN_DIRECTIVE} {
0161 KEEP (*crtbegin.o(.dtors))
0162 KEEP (*crtbegin?.o(.dtors))
0163 KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
0164 KEEP (*(SORT(.dtors.*)))
0165 KEEP (*(.dtors))
0166 } > REGION_RODATA AT > REGION_RODATA_LOAD
0167 .data.rel.ro : ${LINKCMDS_ALIGN_DIRECTIVE} {
0168 *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*)
0169 *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*)
0170 } > REGION_RODATA AT > REGION_RODATA_LOAD
0171 .jcr : ${LINKCMDS_ALIGN_DIRECTIVE} {
0172 KEEP (*(.jcr))
0173 } > REGION_RODATA AT > REGION_RODATA_LOAD
0174 .interp : ${LINKCMDS_ALIGN_DIRECTIVE} {
0175 *(.interp)
0176 } > REGION_RODATA AT > REGION_RODATA_LOAD
0177 .note.gnu.build-id : { *(.note.gnu.build-id)
0178 } > REGION_RODATA AT > REGION_RODATA_LOAD
0179 .hash : ${LINKCMDS_ALIGN_DIRECTIVE} {
0180 *(.hash)
0181 } > REGION_RODATA AT > REGION_RODATA_LOAD
0182 .gnu.hash : ${LINKCMDS_ALIGN_DIRECTIVE} {
0183 *(.gnu.hash)
0184 } > REGION_RODATA AT > REGION_RODATA_LOAD
0185 .dynsym : ${LINKCMDS_ALIGN_DIRECTIVE} {
0186 *(.dynsym)
0187 } > REGION_RODATA AT > REGION_RODATA_LOAD
0188 .dynstr : ${LINKCMDS_ALIGN_DIRECTIVE} {
0189 *(.dynstr)
0190 } > REGION_RODATA AT > REGION_RODATA_LOAD
0191 .gnu.version : ${LINKCMDS_ALIGN_DIRECTIVE} {
0192 *(.gnu.version)
0193 } > REGION_RODATA AT > REGION_RODATA_LOAD
0194 .gnu.version_d : ${LINKCMDS_ALIGN_DIRECTIVE} {
0195 *(.gnu.version_d)
0196 } > REGION_RODATA AT > REGION_RODATA_LOAD
0197 .gnu.version_r : ${LINKCMDS_ALIGN_DIRECTIVE} {
0198 *(.gnu.version_r)
0199 } > REGION_RODATA AT > REGION_RODATA_LOAD
0200 .rela.dyn : ${LINKCMDS_ALIGN_DIRECTIVE} {
0201 *(.rela.init)
0202 *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
0203 *(.rela.fini)
0204 *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
0205 *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
0206 *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
0207 *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
0208 *(.rela.ctors)
0209 *(.rela.dtors)
0210 *(.rela.got)
0211 *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
0212 *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
0213 *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
0214 *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
0215 *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
0216 PROVIDE_HIDDEN (__rela_iplt_start = .);
0217 *(.rela.iplt)
0218 PROVIDE_HIDDEN (__rela_iplt_end = .);
0219 } > REGION_RODATA AT > REGION_RODATA_LOAD
0220 .rela.plt : ${LINKCMDS_ALIGN_DIRECTIVE} {
0221 *(.rela.plt)
0222 } > REGION_RODATA AT > REGION_RODATA_LOAD
0223 .plt : ${LINKCMDS_ALIGN_DIRECTIVE} {
0224 *(.plt)
0225 } > REGION_RODATA AT > REGION_RODATA_LOAD
0226 .iplt : ${LINKCMDS_ALIGN_DIRECTIVE} {
0227 *(.iplt)
0228 } > REGION_RODATA AT > REGION_RODATA_LOAD
0229 .dynamic : ${LINKCMDS_ALIGN_DIRECTIVE} {
0230 *(.dynamic)
0231 } > REGION_RODATA AT > REGION_RODATA_LOAD
0232 .tm_clone_table : ${LINKCMDS_ALIGN_DIRECTIVE} {
0233 *(.tm_clone_table)
0234 } > REGION_RODATA AT > REGION_RODATA_LOAD
0235 .got : ${LINKCMDS_ALIGN_DIRECTIVE} {
0236 *(.got.plt) *(.igot.plt) *(.got) *(.igot)
0237 } > REGION_RODATA AT > REGION_RODATA_LOAD
0238 .rtemsroset : ${LINKCMDS_ALIGN_DIRECTIVE} {
0239 /* Special FreeBSD linker set sections */
0240 __start_set_sysctl_set = .;
0241 *(set_sysctl_*);
0242 __stop_set_sysctl_set = .;
0243 *(set_domain_*);
0244 *(set_pseudo_*);
0245
0246 KEEP (*(SORT(.rtemsroset.*)))
0247 bsp_section_rodata_end = .;
0248 } > REGION_RODATA AT > REGION_RODATA_LOAD
0249 bsp_section_rodata_size = bsp_section_rodata_end - bsp_section_rodata_begin;
0250 bsp_section_rodata_load_begin = LOADADDR (.rodata);
0251 bsp_section_rodata_load_end = bsp_section_rodata_load_begin + bsp_section_rodata_size;
0252
0253 .rwbarrier : ${LINKCMDS_ALIGN_DIRECTIVE} {
0254 . = ALIGN (bsp_section_rwbarrier_align);
0255 } > REGION_DATA AT > REGION_DATA
0256
0257 .fast_text : ${LINKCMDS_ALIGN_DIRECTIVE} {
0258 bsp_section_fast_text_begin = .;
0259 *(.bsp_fast_text)
0260 bsp_section_fast_text_end = .;
0261 } > REGION_FAST_TEXT AT > REGION_FAST_TEXT_LOAD
0262 bsp_section_fast_text_size = bsp_section_fast_text_end - bsp_section_fast_text_begin;
0263 bsp_section_fast_text_load_begin = LOADADDR (.fast_text);
0264 bsp_section_fast_text_load_end = bsp_section_fast_text_load_begin + bsp_section_fast_text_size;
0265
0266 .fast_data : ${LINKCMDS_ALIGN_DIRECTIVE} {
0267 bsp_section_fast_data_begin = .;
0268 *(.bsp_fast_data)
0269 bsp_section_fast_data_end = .;
0270 } > REGION_FAST_DATA AT > REGION_FAST_DATA_LOAD
0271 bsp_section_fast_data_size = bsp_section_fast_data_end - bsp_section_fast_data_begin;
0272 bsp_section_fast_data_load_begin = LOADADDR (.fast_data);
0273 bsp_section_fast_data_load_end = bsp_section_fast_data_load_begin + bsp_section_fast_data_size;
0274
0275 .data : ${LINKCMDS_ALIGN_DIRECTIVE} {
0276 bsp_section_data_begin = .;
0277 *(.data .data.* .gnu.linkonce.d.*)
0278 SORT(CONSTRUCTORS)
0279 } > REGION_DATA AT > REGION_DATA_LOAD
0280 .data1 : ${LINKCMDS_ALIGN_DIRECTIVE} {
0281 *(.data1)
0282 } > REGION_DATA AT > REGION_DATA_LOAD
0283 .rtemsrwset : ${LINKCMDS_ALIGN_DIRECTIVE} {
0284 KEEP (*(SORT(.rtemsrwset.*)))
0285 } > REGION_DATA AT > REGION_DATA_LOAD
0286 .htif ALIGN(4096) : ${LINKCMDS_ALIGN_DIRECTIVE} {
0287 *(.htif)
0288 } > REGION_DATA AT > REGION_DATA_LOAD
0289 .sdata : ${LINKCMDS_ALIGN_DIRECTIVE} {
0290 __global_pointer$$ = . + 0x800;
0291 *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata .srodata.*)
0292 *(.sdata .sdata.* .gnu.linkonce.s.*)
0293 bsp_section_data_end = .;
0294 } > REGION_DATA AT > REGION_DATA_LOAD
0295 bsp_section_data_size = bsp_section_data_end - bsp_section_data_begin;
0296 bsp_section_data_load_begin = LOADADDR (.data);
0297 bsp_section_data_load_end = bsp_section_data_load_begin + bsp_section_data_size;
0298
0299 .sbss : ${LINKCMDS_ALIGN_DIRECTIVE} {
0300 bsp_section_bss_begin = .;
0301 *(.dynsbss)
0302 *(.sbss .sbss.* .gnu.linkonce.sb.*)
0303 *(.scommon)
0304 } > REGION_DATA AT > REGION_DATA
0305 .bss : ${LINKCMDS_ALIGN_DIRECTIVE} {
0306 *(.dynbss)
0307 *(.bss .bss.* .gnu.linkonce.b.*)
0308 *(COMMON)
0309 bsp_section_bss_end = .;
0310 } > REGION_DATA AT > REGION_DATA
0311 bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_begin;
0312
0313 .rtemsstack (NOLOAD) : ${LINKCMDS_ALIGN_DIRECTIVE} {
0314 bsp_section_rtemsstack_begin = .;
0315 *(SORT(.rtemsstack.*))
0316 bsp_section_rtemsstack_end = .;
0317 } > REGION_RTEMSSTACK AT > REGION_RTEMSSTACK
0318 bsp_section_rtemsstack_size = bsp_section_rtemsstack_end - bsp_section_rtemsstack_begin;
0319
0320 .noinit (NOLOAD) : ${LINKCMDS_ALIGN_DIRECTIVE} {
0321 bsp_section_noinit_begin = .;
0322 *(SORT_BY_NAME (SORT_BY_ALIGNMENT (.noinit*)))
0323 bsp_section_noinit_end = .;
0324 } > REGION_WORK AT > REGION_WORK
0325 bsp_section_noinit_size = bsp_section_noinit_end - bsp_section_noinit_begin;
0326
0327 .work (NOLOAD) : ${LINKCMDS_ALIGN_DIRECTIVE} {
0328 /*
0329 * The work section will occupy the remaining REGION_WORK region and
0330 * contains the RTEMS work space and heap.
0331 */
0332 bsp_section_work_begin = .;
0333 . += ORIGIN (REGION_WORK) + LENGTH (REGION_WORK) - ABSOLUTE (.);
0334 bsp_section_work_end = .;
0335 } > REGION_WORK AT > REGION_WORK
0336 bsp_section_work_size = bsp_section_work_end - bsp_section_work_begin;
0337
0338 /* FIXME */
0339 RamBase = ORIGIN (REGION_WORK);
0340 RamSize = LENGTH (REGION_WORK);
0341 RamEnd = RamBase + RamSize;
0342 WorkAreaBase = bsp_section_work_begin;
0343 HeapSize = 0;
0344
0345 /* Stabs debugging sections. */
0346 .stab 0 : { *(.stab) }
0347 .stabstr 0 : { *(.stabstr) }
0348 .stab.excl 0 : { *(.stab.excl) }
0349 .stab.exclstr 0 : { *(.stab.exclstr) }
0350 .stab.index 0 : { *(.stab.index) }
0351 .stab.indexstr 0 : { *(.stab.indexstr) }
0352 .comment 0 : { *(.comment) }
0353 /* DWARF debug sections.
0354 Symbols in the DWARF debugging sections are relative to the beginning
0355 of the section so we begin them at 0. */
0356 /* DWARF 1. */
0357 .debug 0 : { *(.debug) }
0358 .line 0 : { *(.line) }
0359 /* GNU DWARF 1 extensions. */
0360 .debug_srcinfo 0 : { *(.debug_srcinfo) }
0361 .debug_sfnames 0 : { *(.debug_sfnames) }
0362 /* DWARF 1.1 and DWARF 2. */
0363 .debug_aranges 0 : { *(.debug_aranges) }
0364 .debug_pubnames 0 : { *(.debug_pubnames) }
0365 /* DWARF 2. */
0366 .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
0367 .debug_abbrev 0 : { *(.debug_abbrev) }
0368 .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end) }
0369 .debug_frame 0 : { *(.debug_frame) }
0370 .debug_str 0 : { *(.debug_str) }
0371 .debug_loc 0 : { *(.debug_loc) }
0372 .debug_macinfo 0 : { *(.debug_macinfo) }
0373 /* SGI/MIPS DWARF 2 extensions. */
0374 .debug_weaknames 0 : { *(.debug_weaknames) }
0375 .debug_funcnames 0 : { *(.debug_funcnames) }
0376 .debug_typenames 0 : { *(.debug_typenames) }
0377 .debug_varnames 0 : { *(.debug_varnames) }
0378 /* DWARF 3. */
0379 .debug_pubtypes 0 : { *(.debug_pubtypes) }
0380 .debug_ranges 0 : { *(.debug_ranges) }
0381 /* DWARF 5. */
0382 .debug_addr 0 : { *(.debug_addr) }
0383 .debug_line_str 0 : { *(.debug_line_str) }
0384 .debug_loclists 0 : { *(.debug_loclists) }
0385 .debug_macro 0 : { *(.debug_macro) }
0386 .debug_names 0 : { *(.debug_names) }
0387 .debug_rnglists 0 : { *(.debug_rnglists) }
0388 .debug_str_offsets 0 : { *(.debug_str_offsets) }
0389 .debug_sup 0 : { *(.debug_sup) }
0390
0391 /* Addition to let linker know about custom section for GDB pretty-printing support. */
0392 .debug_gdb_scripts 0 : { *(.debug_gdb_scripts) }
0393
0394 .riscv.attributes 0 : { KEEP (*(.riscv.attributes)) KEEP (*(.gnu.attributes)) }
0395 /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
0396 .shstrtab 0 : { *(.shstrtab) }
0397 .strtab 0 : { *(.strtab) }
0398 .symtab 0 : { *(.symtab) }
0399 .symtab_shndx 0 : { *(.symtab_shndx) }
0400 __cap_relocs 0 : { *(__cap_relocs) }
0401
0402 /*
0403 * This is a RTEMS specific section to catch all unexpected input
0404 * sections. In case you get an error like
0405 * "section `.unexpected_sections' will not fit in region
0406 * `UNEXPECTED_SECTIONS'"
0407 * you have to figure out the offending input section and add it to the
0408 * appropriate output section definition above.
0409 */
0410 .unexpected_sections : { *(*) } > UNEXPECTED_SECTIONS
0411 }
0412 copyrights:
0413 - Copyright (C) 2020 embedded brains GmbH & Co. KG
0414 enabled-by: true
0415 install-path: ${BSP_LIBDIR}
0416 links: []
0417 target: linkcmds.base
0418 type: build