ESP32-C6 linking failed

Graveflo
Posts: 1
Joined: Sun Mar 10, 2024 6:56 pm

ESP32-C6 linking failed

Postby Graveflo » Sun Mar 10, 2024 7:30 pm

I'm trying to compile simple test code that I have working on ESP32 and ESP32-S3, but when I try to compile it for ESP32-C6 I get a linking error that I do not fully understand. I am able to compile the "blink" example just fine for the C6, so this is not a consistent issue with the build system.

The error looks like this (I added a couple line breaks):

Code: Select all

/home/ryan/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/13.2.0/../../../../riscv32-esp-elf/bin/ld:
The gap between .flash.rodata and .flash.tls must not exist to produce the final bin image.
/home/ryan/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/13.2.0/../../../../riscv32-esp-elf/bin/ld:
The gap between .flash.tls and .eh_frame must not exist to produce the final bin image.
I tried looking for a good explanation of "The gap between X and Y must not exist to produce the final bin image" but I could not find anything useful. Does anyone know what could be causing this error?

The CMake files are the same for the working blink example and the failing project.
  1. cmake_minimum_required(VERSION 3.16)
  2.  
  3. include($ENV{IDF_PATH}/tools/cmake/project.cmake)
  4. project(blink)
The blink example uses `SRCS "blink_example_main.c"` instead
  1. idf_component_register(SRC_DIRS "nimcache"
  2.                        INCLUDE_DIRS ".")
  3. idf_build_set_property(C_COMPILE_OPTIONS -Wno-unused-label APPEND)
  4. idf_build_set_property(C_COMPILE_OPTIONS -Wno-discarded-qualifiers APPEND)
  5. idf_build_set_property(C_COMPILE_OPTIONS -Wno-ignored-qualifiers APPEND)
  6. idf_build_set_property(C_COMPILE_OPTIONS -Wno-error=unused-label APPEND)
  7. idf_build_set_property(C_COMPILE_OPTIONS -Wno-error=parentheses APPEND)
  8. idf_build_set_property(C_COMPILE_OPTIONS -Wno-error=implicit-function-declaration APPEND)
  9. idf_build_set_property(C_COMPILE_OPTIONS -Wno-error=maybe-uninitialized APPEND)
  10. idf_build_set_property(C_COMPILE_OPTIONS -Wno-error=nonnull APPEND)
  11. idf_build_set_property(C_COMPILE_OPTIONS -Wno-error=address APPEND)
  12. idf_build_set_property(C_COMPILE_OPTIONS -Wno-unused-but-set-variable APPEND)

ESP_jakob
Posts: 48
Joined: Mon Jun 01, 2020 6:28 am

Re: ESP32-C6 linking failed

Postby ESP_jakob » Tue Mar 12, 2024 7:40 am

Hi!

To debug these type of linker issues, it would be easiest for us if you can provide a minimal reproducing example. Would that be possible?

ESP_jakob
Posts: 48
Joined: Mon Jun 01, 2020 6:28 am

Re: ESP32-C6 linking failed

Postby ESP_jakob » Wed Mar 13, 2024 7:28 am

One more question: which IDF version - specifically, which commit - are you using?

Who is online

Users browsing this forum: Baidu [Spider], Google [Bot] and 191 guests