mirror of
https://github.com/espressif/esp-idf
synced 2025-03-10 01:29:21 -04:00
ERROR: A fatal error occurred: Segment loaded at 0x3c01d150 lands in same 64KB flash mapping as segment loaded at 0x3c018020. Can't generate binary. Suggest changing linker script or ELF to merge sections. Seems binary generator does not handle well empty sections that contains aligning only. I did not investigate much but this change helped.
89 lines
3.0 KiB
Plaintext
89 lines
3.0 KiB
Plaintext
#include "sdkconfig.h"
|
|
|
|
/* DWARF 1 */
|
|
.debug 0 : { *(.debug) }
|
|
.line 0 : { *(.line) }
|
|
/* GNU DWARF 1 extensions */
|
|
.debug_srcinfo 0 : { *(.debug_srcinfo) }
|
|
.debug_sfnames 0 : { *(.debug_sfnames) }
|
|
/* DWARF 1.1 and DWARF 2 */
|
|
.debug_aranges 0 : { *(.debug_aranges) }
|
|
.debug_pubnames 0 : { *(.debug_pubnames) }
|
|
/* DWARF 2 */
|
|
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
|
|
.debug_abbrev 0 : { *(.debug_abbrev) }
|
|
.debug_line 0 : { *(.debug_line) }
|
|
.debug_frame 0 : { *(.debug_frame) }
|
|
.debug_str 0 : { *(.debug_str) }
|
|
.debug_loc 0 : { *(.debug_loc) }
|
|
.debug_macinfo 0 : { *(.debug_macinfo) }
|
|
.debug_pubtypes 0 : { *(.debug_pubtypes) }
|
|
/* DWARF 3 */
|
|
.debug_ranges 0 : { *(.debug_ranges) }
|
|
/* SGI/MIPS DWARF 2 extensions */
|
|
.debug_weaknames 0 : { *(.debug_weaknames) }
|
|
.debug_funcnames 0 : { *(.debug_funcnames) }
|
|
.debug_typenames 0 : { *(.debug_typenames) }
|
|
.debug_varnames 0 : { *(.debug_varnames) }
|
|
/* GNU DWARF 2 extensions */
|
|
.debug_gnu_pubnames 0 : { *(.debug_gnu_pubnames) }
|
|
.debug_gnu_pubtypes 0 : { *(.debug_gnu_pubtypes) }
|
|
/* DWARF 4 */
|
|
.debug_types 0 : { *(.debug_types) }
|
|
/* DWARF 5 */
|
|
.debug_addr 0 : { *(.debug_addr) }
|
|
.debug_line_str 0 : { *(.debug_line_str) }
|
|
.debug_loclists 0 : { *(.debug_loclists) }
|
|
.debug_macro 0 : { *(.debug_macro) }
|
|
.debug_names 0 : { *(.debug_names) }
|
|
.debug_rnglists 0 : { *(.debug_rnglists) }
|
|
.debug_str_offsets 0 : { *(.debug_str_offsets) }
|
|
|
|
.comment 0 : { *(.comment) }
|
|
.note.GNU-stack 0: { *(.note.GNU-stack) }
|
|
|
|
#if CONFIG_IDF_TARGET_ARCH_RISCV
|
|
.riscv.attributes 0: { *(.riscv.attributes) }
|
|
|
|
/DISCARD/ :
|
|
{
|
|
/**
|
|
* Discarding .rela.* sections results in the following mapping:
|
|
* .rela.text.* -> .text.*
|
|
* .rela.data.* -> .data.*
|
|
* And so forth...
|
|
*/
|
|
*(.rela.*)
|
|
*(.got .got.plt) /* TODO: GCC-382 */
|
|
#if !EH_FRAME_LINKING_ENABLED
|
|
*(.eh_frame_hdr)
|
|
*(.eh_frame)
|
|
#endif // !EH_FRAME_LINKING_ENABLED
|
|
}
|
|
#elif CONFIG_IDF_TARGET_ARCH_XTENSA
|
|
/**
|
|
* .xt.prop and .xt.lit sections will be used by the debugger and disassembler
|
|
* to get more information about raw data present in the code.
|
|
* Indeed, it may be required to add some padding at some points in the code
|
|
* in order to align a branch/jump destination on a particular bound.
|
|
* Padding these instructions will generate null bytes that shall be
|
|
* interpreted as data, and not code by the debugger or disassembler.
|
|
* This section will only be present in the ELF file, not in the final binary
|
|
* For more details, check GCC-212
|
|
*/
|
|
.xtensa.info 0: { *(.xtensa.info) }
|
|
.xt.prop 0 : { *(.xt.prop .xt.prop.* .gnu.linkonce.prop.*) }
|
|
.xt.lit 0 : { *(.xt.lit .xt.lit.* .gnu.linkonce.p.*) }
|
|
|
|
/DISCARD/ :
|
|
{
|
|
*(.fini)
|
|
*(.eh_frame_hdr)
|
|
#if !EH_FRAME_LINKING_ENABLED
|
|
*(.eh_frame)
|
|
#endif // !EH_FRAME_LINKING_ENABLED
|
|
}
|
|
#else
|
|
#error "Target architecture is not supported!"
|
|
#endif
|