espressif / esp-idf

Espressif IoT Development Framework. Official development framework for Espressif SoCs.
Apache License 2.0
12.91k stars 7.09k forks source link

clang build error: non-constant .uleb128 is not supported (IDFGH-11846) #12935

Open Jiu-xiao opened 6 months ago

Jiu-xiao commented 6 months ago

Answers checklist.

IDF version.

release/v5.1 bbd8d13f930705051afa883691bc8389eefc48a1

Operating System used.

Linux

How did you build your project?

Command line with CMake

If you are using Windows, please specify command line type.

None

What is the expected behavior?

idf_as_lib example, use $ENV{IDF_PATH}/tools/cmake/toolchain-clang-esp32c3.cmake

What is the actual behavior?

ll/src -I/home/xiao/XRobot/lib/mini_shell/config -isystem /home/xiao/XRobot/src/system/FreeRTOS -isystem /home/xiao/XRobot/src/system --target=riscv32-esp-elf -march=rv32imc -mabi=ilp32 -g -std=gnu++17 -Werror -gdwarf-4 -MD -MT src/system/CMakeFiles/system.dir/FreeRTOS/timer.cpp.obj -MF src/system/CMakeFiles/system.dir/FreeRTOS/timer.cpp.obj.d -o src/system/CMakeFiles/system.dir/FreeRTOS/timer.cpp.obj -c /home/xiao/XRobot/src/system/FreeRTOS/timer.cpp /tmp/timer-8a0ff0.s: Assembler messages: /tmp/timer-8a0ff0.s:124: Error: non-constant .uleb128 is not supported /tmp/timer-8a0ff0.s:206: Error: non-constant .uleb128 is not supported /tmp/timer-8a0ff0.s:523: Error: non-constant .uleb128 is not supported /tmp/timer-8a0ff0.s:526: Error: non-constant .uleb128 is not supported clang-15: error: assembler command failed with exit code 1 (use -v to see invocation) [1037/1061] Generating ld/sections.ld ninja: build stopped: subcommand failed.

Steps to reproduce.

  1. install esp-idf and esp-clang
  2. copy example idf_as_lib
  3. export IDF_TOOLCHAIN=clang
  4. include $ENV{IDF_PATH}/tools/cmake/toolchain-clang-esp32c3.cmake
  5. build

Build or installation Logs.

[32/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj
[33/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
[34/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse.c.obj
[35/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
[36/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj
[37/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/flash_qio_mode.c.obj
[38/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
[39/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj
[40/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj
[41/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
[42/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c3/bootloader_sha.c.obj
[43/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash.c.obj
[44/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c3/bootloader_soc.c.obj
[45/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj
[46/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash_config_esp32c3.c.obj
[47/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
[48/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj
[49/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
[50/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c3/esp_efuse_table.c.obj
[51/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c3/esp_efuse_fields.c.obj
[52/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c3/bootloader_esp32c3.c.obj
[53/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c3/esp_efuse_rtc_calib.c.obj
[54/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c3/esp_efuse_utility.c.obj
[55/96] Building C object esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj
[56/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
[57/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
[58/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu.c.obj
[59/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
[60/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_memory_utils.c.obj
[61/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/efuse_controller/keys/with_key_purposes/esp_efuse_api_key.c.obj
[62/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c3/cpu_region_protect.c.obj
[63/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c3/rtc_clk_init.c.obj
[64/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c3/rtc_init.c.obj
[65/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c3/rtc_time.c.obj
[66/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c3/chip_info.c.obj
[67/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c3/rtc_sleep.c.obj
[68/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c3/rtc_clk.c.obj
[69/96] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj
[70/96] Building C object esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj
[71/96] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj
[72/96] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_spiflash.c.obj
[73/96] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_systimer.c.obj
[74/96] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj
[75/96] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_efuse.c.obj
[76/96] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
[77/96] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
[78/96] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj
[79/96] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj
[80/96] Linking C static library esp-idf/log/liblog.a
[81/96] Linking C static library esp-idf/esp_rom/libesp_rom.a
[82/96] Linking C static library esp-idf/esp_common/libesp_common.a
[83/96] Linking C static library esp-idf/esp_hw_support/libesp_hw_support.a
[84/96] Linking C static library esp-idf/esp_system/libesp_system.a
[85/96] Linking C static library esp-idf/efuse/libefuse.a
[86/96] Linking C static library esp-idf/bootloader_support/libbootloader_support.a
[87/96] Linking C static library esp-idf/esp_app_format/libesp_app_format.a
[88/96] Linking C static library esp-idf/spi_flash/libspi_flash.a
[89/96] Linking C static library esp-idf/hal/libhal.a
[90/96] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
[91/96] Linking C static library esp-idf/micro-ecc/libmicro-ecc.a
[92/96] Linking C static library esp-idf/soc/libsoc.a
[93/96] Linking C static library esp-idf/main/libmain.a
[94/96] Linking C executable bootloader.elf
[95/96] Generating binary image from built executable
esptool.py v4.7.0
Creating esp32c3 image...
Successfully created esp32c3 image.
Generated /home/xiao/XRobot/build/bootloader/bootloader.bin
[96/96] cd /home/xiao/XRobot/build/bootloader/esp-idf/esptool_py && python /home/xiao/esp/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 /home/xiao/XRobot/build/bootloader/bootloader.bin
Bootloader binary size 0x5140 bytes. 0x2ec0 bytes (37%) free.
[1028/1061] Building CXX object src/system/CMakeFiles/system.dir/FreeRTOS/memory.cpp.obj
FAILED: src/system/CMakeFiles/system.dir/FreeRTOS/memory.cpp.obj 
/home/xiao/.espressif/tools/esp-clang/15.0.0-23786128ae/esp-clang/bin/clang++ -DFREERTOS_TERM_TASK_STACK_DEPTH=1024 -DFREERTOS_TIMER_TASK_STACK_DEPTH=1024 -DFREERTOS_USB_TASK_STACK_DEPTH=1024 -DINIT_TASK_STACK_DEPTH=2048 -DMCU_DEBUG_BUILD -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DXROBOT_BOARD=esp32-c3-idf -I/home/xiao/XRobot/hw/mcu/default -I/home/xiao/XRobot/hw/bsp/esp32-c3-idf/drivers -I/home/xiao/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -I/home/xiao/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/include -I/home/xiao/esp/esp-idf/components/freertos/esp_additions/include/freertos -I/home/xiao/esp/esp-idf/components/freertos/esp_additions/include -I/home/xiao/esp/esp-idf/components/freertos/esp_additions/arch/riscv/include -I/home/xiao/XRobot/build/config -I/home/xiao/esp/esp-idf/components/newlib/platform_include -I/home/xiao/esp/esp-idf/components/esp_hw_support/include -I/home/xiao/esp/esp-idf/components/esp_hw_support/include/soc -I/home/xiao/esp/esp-idf/components/esp_hw_support/include/soc/esp32c3 -I/home/xiao/esp/esp-idf/components/esp_hw_support/port/esp32c3/. -I/home/xiao/esp/esp-idf/components/esp_hw_support/port/esp32c3/private_include -I/home/xiao/esp/esp-idf/components/heap/include -I/home/xiao/esp/esp-idf/components/log/include -I/home/xiao/esp/esp-idf/components/soc/include -I/home/xiao/esp/esp-idf/components/soc/esp32c3 -I/home/xiao/esp/esp-idf/components/soc/esp32c3/include -I/home/xiao/esp/esp-idf/components/hal/esp32c3/include -I/home/xiao/esp/esp-idf/components/hal/include -I/home/xiao/esp/esp-idf/components/hal/platform_port/include -I/home/xiao/esp/esp-idf/components/esp_rom/include -I/home/xiao/esp/esp-idf/components/esp_rom/include/esp32c3 -I/home/xiao/esp/esp-idf/components/esp_rom/esp32c3 -I/home/xiao/esp/esp-idf/components/esp_common/include -I/home/xiao/esp/esp-idf/components/esp_system/include -I/home/xiao/esp/esp-idf/components/esp_system/port/soc -I/home/xiao/esp/esp-idf/components/esp_system/port/include/riscv -I/home/xiao/esp/esp-idf/components/esp_system/port/include/private -I/home/xiao/esp/esp-idf/components/riscv/include -I/home/xiao/esp/esp-idf/components/lwip/include -I/home/xiao/esp/esp-idf/components/lwip/include/apps -I/home/xiao/esp/esp-idf/components/lwip/include/apps/sntp -I/home/xiao/esp/esp-idf/components/lwip/lwip/src/include -I/home/xiao/esp/esp-idf/components/lwip/port/include -I/home/xiao/esp/esp-idf/components/lwip/port/freertos/include -I/home/xiao/esp/esp-idf/components/lwip/port/esp32xx/include -I/home/xiao/esp/esp-idf/components/lwip/port/esp32xx/include/arch -I/home/xiao/esp/esp-idf/components/driver/include -I/home/xiao/esp/esp-idf/components/driver/deprecated -I/home/xiao/esp/esp-idf/components/driver/analog_comparator/include -I/home/xiao/esp/esp-idf/components/driver/dac/include -I/home/xiao/esp/esp-idf/components/driver/gpio/include -I/home/xiao/esp/esp-idf/components/driver/gptimer/include -I/home/xiao/esp/esp-idf/components/driver/i2c/include -I/home/xiao/esp/esp-idf/components/driver/i2s/include -I/home/xiao/esp/esp-idf/components/driver/ledc/include -I/home/xiao/esp/esp-idf/components/driver/mcpwm/include -I/home/xiao/esp/esp-idf/components/driver/parlio/include -I/home/xiao/esp/esp-idf/components/driver/pcnt/include -I/home/xiao/esp/esp-idf/components/driver/rmt/include -I/home/xiao/esp/esp-idf/components/driver/sdio_slave/include -I/home/xiao/esp/esp-idf/components/driver/sdmmc/include -I/home/xiao/esp/esp-idf/components/driver/sigma_delta/include -I/home/xiao/esp/esp-idf/components/driver/spi/include -I/home/xiao/esp/esp-idf/components/driver/temperature_sensor/include -I/home/xiao/esp/esp-idf/components/driver/touch_sensor/include -I/home/xiao/esp/esp-idf/components/driver/twai/include -I/home/xiao/esp/esp-idf/components/driver/uart/include -I/home/xiao/esp/esp-idf/components/driver/usb_serial_jtag/include -I/home/xiao/esp/esp-idf/components/esp_pm/include -I/home/xiao/esp/esp-idf/components/esp_ringbuf/include -I/home/xiao/esp/esp-idf/components/nvs_flash/include -I/home/xiao/esp/esp-idf/components/spi_flash/include -I/home/xiao/esp/esp-idf/components/esp_partition/include -I/home/xiao/esp/esp-idf/components/esp_timer/include -I/home/xiao/esp/esp-idf/components/bt/include/esp32c3/include -I/home/xiao/esp/esp-idf/components/bt/common/osi/include -I/home/xiao/esp/esp-idf/components/bt/common/api/include/api -I/home/xiao/esp/esp-idf/components/bt/common/btc/profile/esp/blufi/include -I/home/xiao/esp/esp-idf/components/bt/common/btc/profile/esp/include -I/home/xiao/esp/esp-idf/components/bt/host/bluedroid/api/include/api -I/home/xiao/esp/esp-idf/components/bt/porting/ext/tinycrypt/include -I/home/xiao/esp/esp-idf/components/esp_wifi/include -I/home/xiao/esp/esp-idf/components/esp_wifi/wifi_apps/include -I/home/xiao/esp/esp-idf/components/esp_event/include -I/home/xiao/esp/esp-idf/components/esp_phy/include -I/home/xiao/esp/esp-idf/components/esp_phy/esp32c3/include -I/home/xiao/esp/esp-idf/components/esp_netif/include -I/home/xiao/esp/esp-idf/components/freertos/include/freertos -I/home/xiao/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include/freertos -I/home/xiao/XRobot/lib/one-message/om/src -I/home/xiao/XRobot/lib/one-message/om/src/app -I/home/xiao/XRobot/lib/one-message/om/src/core -I/home/xiao/XRobot/lib/one-message/om/src/comp -I/home/xiao/XRobot/lib/one-message/om/src/../config -I/home/xiao/XRobot/lib/one-message/src -I/home/xiao/XRobot/lib/mini_shell/src -I/home/xiao/XRobot/lib/mini_shell/config -isystem /home/xiao/XRobot/src/system/FreeRTOS -isystem /home/xiao/XRobot/src/system --target=riscv32-esp-elf -march=rv32imc -mabi=ilp32  -g -std=gnu++17 -Werror -gdwarf-4 -MD -MT src/system/CMakeFiles/system.dir/FreeRTOS/memory.cpp.obj -MF src/system/CMakeFiles/system.dir/FreeRTOS/memory.cpp.obj.d -o src/system/CMakeFiles/system.dir/FreeRTOS/memory.cpp.obj -c /home/xiao/XRobot/src/system/FreeRTOS/memory.cpp
/tmp/memory-8ea634.s: Assembler messages:
/tmp/memory-8ea634.s:92: Error: non-constant .uleb128 is not supported
/tmp/memory-8ea634.s:95: Error: non-constant .uleb128 is not supported
clang-15: error: assembler command failed with exit code 1 (use -v to see invocation)
[1034/1061] Building CXX object src/system/CMakeFiles/system.dir/FreeRTOS/timer.cpp.obj
FAILED: src/system/CMakeFiles/system.dir/FreeRTOS/timer.cpp.obj 
/home/xiao/.espressif/tools/esp-clang/15.0.0-23786128ae/esp-clang/bin/clang++ -DFREERTOS_TERM_TASK_STACK_DEPTH=1024 -DFREERTOS_TIMER_TASK_STACK_DEPTH=1024 -DFREERTOS_USB_TASK_STACK_DEPTH=1024 -DINIT_TASK_STACK_DEPTH=2048 -DMCU_DEBUG_BUILD -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DXROBOT_BOARD=esp32-c3-idf -I/home/xiao/XRobot/hw/mcu/default -I/home/xiao/XRobot/hw/bsp/esp32-c3-idf/drivers -I/home/xiao/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -I/home/xiao/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/include -I/home/xiao/esp/esp-idf/components/freertos/esp_additions/include/freertos -I/home/xiao/esp/esp-idf/components/freertos/esp_additions/include -I/home/xiao/esp/esp-idf/components/freertos/esp_additions/arch/riscv/include -I/home/xiao/XRobot/build/config -I/home/xiao/esp/esp-idf/components/newlib/platform_include -I/home/xiao/esp/esp-idf/components/esp_hw_support/include -I/home/xiao/esp/esp-idf/components/esp_hw_support/include/soc -I/home/xiao/esp/esp-idf/components/esp_hw_support/include/soc/esp32c3 -I/home/xiao/esp/esp-idf/components/esp_hw_support/port/esp32c3/. -I/home/xiao/esp/esp-idf/components/esp_hw_support/port/esp32c3/private_include -I/home/xiao/esp/esp-idf/components/heap/include -I/home/xiao/esp/esp-idf/components/log/include -I/home/xiao/esp/esp-idf/components/soc/include -I/home/xiao/esp/esp-idf/components/soc/esp32c3 -I/home/xiao/esp/esp-idf/components/soc/esp32c3/include -I/home/xiao/esp/esp-idf/components/hal/esp32c3/include -I/home/xiao/esp/esp-idf/components/hal/include -I/home/xiao/esp/esp-idf/components/hal/platform_port/include -I/home/xiao/esp/esp-idf/components/esp_rom/include -I/home/xiao/esp/esp-idf/components/esp_rom/include/esp32c3 -I/home/xiao/esp/esp-idf/components/esp_rom/esp32c3 -I/home/xiao/esp/esp-idf/components/esp_common/include -I/home/xiao/esp/esp-idf/components/esp_system/include -I/home/xiao/esp/esp-idf/components/esp_system/port/soc -I/home/xiao/esp/esp-idf/components/esp_system/port/include/riscv -I/home/xiao/esp/esp-idf/components/esp_system/port/include/private -I/home/xiao/esp/esp-idf/components/riscv/include -I/home/xiao/esp/esp-idf/components/lwip/include -I/home/xiao/esp/esp-idf/components/lwip/include/apps -I/home/xiao/esp/esp-idf/components/lwip/include/apps/sntp -I/home/xiao/esp/esp-idf/components/lwip/lwip/src/include -I/home/xiao/esp/esp-idf/components/lwip/port/include -I/home/xiao/esp/esp-idf/components/lwip/port/freertos/include -I/home/xiao/esp/esp-idf/components/lwip/port/esp32xx/include -I/home/xiao/esp/esp-idf/components/lwip/port/esp32xx/include/arch -I/home/xiao/esp/esp-idf/components/driver/include -I/home/xiao/esp/esp-idf/components/driver/deprecated -I/home/xiao/esp/esp-idf/components/driver/analog_comparator/include -I/home/xiao/esp/esp-idf/components/driver/dac/include -I/home/xiao/esp/esp-idf/components/driver/gpio/include -I/home/xiao/esp/esp-idf/components/driver/gptimer/include -I/home/xiao/esp/esp-idf/components/driver/i2c/include -I/home/xiao/esp/esp-idf/components/driver/i2s/include -I/home/xiao/esp/esp-idf/components/driver/ledc/include -I/home/xiao/esp/esp-idf/components/driver/mcpwm/include -I/home/xiao/esp/esp-idf/components/driver/parlio/include -I/home/xiao/esp/esp-idf/components/driver/pcnt/include -I/home/xiao/esp/esp-idf/components/driver/rmt/include -I/home/xiao/esp/esp-idf/components/driver/sdio_slave/include -I/home/xiao/esp/esp-idf/components/driver/sdmmc/include -I/home/xiao/esp/esp-idf/components/driver/sigma_delta/include -I/home/xiao/esp/esp-idf/components/driver/spi/include -I/home/xiao/esp/esp-idf/components/driver/temperature_sensor/include -I/home/xiao/esp/esp-idf/components/driver/touch_sensor/include -I/home/xiao/esp/esp-idf/components/driver/twai/include -I/home/xiao/esp/esp-idf/components/driver/uart/include -I/home/xiao/esp/esp-idf/components/driver/usb_serial_jtag/include -I/home/xiao/esp/esp-idf/components/esp_pm/include -I/home/xiao/esp/esp-idf/components/esp_ringbuf/include -I/home/xiao/esp/esp-idf/components/nvs_flash/include -I/home/xiao/esp/esp-idf/components/spi_flash/include -I/home/xiao/esp/esp-idf/components/esp_partition/include -I/home/xiao/esp/esp-idf/components/esp_timer/include -I/home/xiao/esp/esp-idf/components/bt/include/esp32c3/include -I/home/xiao/esp/esp-idf/components/bt/common/osi/include -I/home/xiao/esp/esp-idf/components/bt/common/api/include/api -I/home/xiao/esp/esp-idf/components/bt/common/btc/profile/esp/blufi/include -I/home/xiao/esp/esp-idf/components/bt/common/btc/profile/esp/include -I/home/xiao/esp/esp-idf/components/bt/host/bluedroid/api/include/api -I/home/xiao/esp/esp-idf/components/bt/porting/ext/tinycrypt/include -I/home/xiao/esp/esp-idf/components/esp_wifi/include -I/home/xiao/esp/esp-idf/components/esp_wifi/wifi_apps/include -I/home/xiao/esp/esp-idf/components/esp_event/include -I/home/xiao/esp/esp-idf/components/esp_phy/include -I/home/xiao/esp/esp-idf/components/esp_phy/esp32c3/include -I/home/xiao/esp/esp-idf/components/esp_netif/include -I/home/xiao/esp/esp-idf/components/freertos/include/freertos -I/home/xiao/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include/freertos -I/home/xiao/XRobot/lib/one-message/om/src -I/home/xiao/XRobot/lib/one-message/om/src/app -I/home/xiao/XRobot/lib/one-message/om/src/core -I/home/xiao/XRobot/lib/one-message/om/src/comp -I/home/xiao/XRobot/lib/one-message/om/src/../config -I/home/xiao/XRobot/lib/one-message/src -I/home/xiao/XRobot/lib/mini_shell/src -I/home/xiao/XRobot/lib/mini_shell/config -isystem /home/xiao/XRobot/src/system/FreeRTOS -isystem /home/xiao/XRobot/src/system --target=riscv32-esp-elf -march=rv32imc -mabi=ilp32  -g -std=gnu++17 -Werror -gdwarf-4 -MD -MT src/system/CMakeFiles/system.dir/FreeRTOS/timer.cpp.obj -MF src/system/CMakeFiles/system.dir/FreeRTOS/timer.cpp.obj.d -o src/system/CMakeFiles/system.dir/FreeRTOS/timer.cpp.obj -c /home/xiao/XRobot/src/system/FreeRTOS/timer.cpp
/tmp/timer-d34779.s: Assembler messages:
/tmp/timer-d34779.s:124: Error: non-constant .uleb128 is not supported
/tmp/timer-d34779.s:206: Error: non-constant .uleb128 is not supported
/tmp/timer-d34779.s:523: Error: non-constant .uleb128 is not supported
/tmp/timer-d34779.s:526: Error: non-constant .uleb128 is not supported
clang-15: error: assembler command failed with exit code 1 (use -v to see invocation)
[1037/1061] Generating ld/sections.ld
ninja: build stopped: subcommand failed.

More Information.

No response

igrr commented 6 months ago

It's a bit hard to say without seeing what's inside /home/xiao/XRobot/src/system/FreeRTOS/timer.cpp, do you think you can share a minimal example to reproduce the issue?

Jiu-xiao commented 6 months ago

include

include "bsp_time.h"

using namespace System;

Timer* Timer::self_ = NULL;

Timer::Timer() { self_ = this;

auto thread_fn = [](void* arg) { XB_UNUSED(arg); uint32_t last_online_time = bsp_time_getms(); while (1) { Timer::self->list.Foreach(Timer::Refresh, NULL); Timer::self->thread_.SleepUntil(1, last_online_time); } };

this->thread_.Create(thread_fn, static_cast<void*>(NULL), "timer_task", FREERTOS_TIMER_TASK_STACK_DEPTH, Thread::HIGH); }

bool Timer::Refresh(ControlBlock& block, void* arg) { XB_UNUSED(arg);

if (!block.running) { return true; }

block.count++; if (block.cycle <= block.count) { block.count = 0; block.fun(block.type); }

return true; }

Jiu-xiao commented 6 months ago

https://github.com/xrobot-org/XRobot/tree/master/src/system/FreeRTOS

Jiu-xiao commented 6 months ago

build pass after remove add_link_options(-fdump-rtl-dfinish)