[BUG] esp32s3: esp-hal-3rdparty fails to build with GCC 15 (ATOMIC_VAR_INIT removed)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 72/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- c
調査の方向性
まず arch/xtensa/src/esp32s3/Make.defs に固定されたハッシュ(ESP_HAL_3RDPARTY_VERSION)を確認し、次に arch/xtensa/src/esp32s3/esp-hal-3rdparty/components/esp_hw_support/ 内の esp_gpio_reserve.c で失敗している13行目を見てください。GCC 15 で esp32s3-devkit:nsh をビルドして再現します。ビルドが通れば完了です。ATOMIC_VAR_INIT を直接初期化に置き換えるか、既にそうしているコミットへピンを更新することで対応できます。
索引モデルが issue の本文から書いたものです。
説明
Description / Steps to reproduce the issue
Bug Description
NuttX fails to build for ESP32-S3 with GCC 15 due to ATOMIC_VAR_INIT being removed from the toolchain.
ATOMIC_VAR_INIT was deprecated in C17 and removed in GCC 15. The esp-hal-3rdparty code pinned by NuttX 13.1 still uses it.
Toolchain
xtensa-esp-elf-gcc (crosstool-NG esp-15.2.0_20251204) 15.2.0- ESP-IDF v6.1
NuttX 13.1 pins ESP_HAL_3RDPARTY_VERSION = b90b1837cb5ad24747deb4c895246037cc206ce5 in arch/xtensa/src/esp32s3/Make.defs.
Error
CC: chip/esp-hal-3rdparty/components/esp_hw_support/esp_gpio_reserve.c
chip/esp-hal-3rdparty/components/esp_hw_support/esp_gpio_reserve.c:13:47: error: implicit declaration of function 'ATOMIC_VAR_INIT'; did you mean 'ATOMIC_FLAG_INIT'? [-Wimplicit-function-declaration]
13 | static _Atomic uint64_t s_reserved_pin_mask = ATOMIC_VAR_INIT(~(SOC_GPIO_VALID_GPIO_MASK));
| ^~~~~~~~~~~~~~~
| ATOMIC_FLAG_INIT
chip/esp-hal-3rdparty/components/esp_hw_support/esp_gpio_reserve.c:13:47: error: initializer element is not constant
make[1]: *** [Makefile:146:chip/esp-hal-3rdparty/components/esp_hw_support/esp_gpio_reserve.o] error 1
make: *** [tools/LibTargets.mk:170:arch/xtensa/src/libarch.a] error 2
Temporary Workaround
Modify arch/xtensa/src/esp32s3/esp-hal-3rdparty/components/esp_hw_support/esp_gpio_reserve.c line 13:
// from
static _Atomic uint64_t s_reserved_pin_mask = ATOMIC_VAR_INIT(~(SOC_GPIO_VALID_GPIO_MASK));
// to
static _Atomic uint64_t s_reserved_pin_mask = ~(SOC_GPIO_VALID_GPIO_MASK);
After this change, the build succeeded.
Suggested Fix
Either bump the pinned ESP_HAL_3RDPARTY_VERSION to a commit that already uses direct initialization, or document that GCC ≤ 14 is required for ESP32-S3.
### On which OS does this issue occur?
[OS: Linux]
### What is the version of your OS?
EndeavourOS Linux 7.2.9-arch1-1
### NuttX Version
releases/13.1
### Issue Architecture
[Arch: xtensa]
### Issue Area
[Area: Board support], [Area: Build System]
### Host information
### Host Info
- OS: Linux x86_64 (Arch)
- Toolchain: `xtensa-esp32s3-elf-gcc (crosstool-NG esp-15.2.0_20251204) 15.2.0`
- ESP-IDF: v6.1
- HAL version: `sync/master.c-nuttx-20260428-24-gb90b1837cb5`
- esptool: 5.6.0
- defconfig: `esp32s3-devkit:nsh`
### Verification
- [x] I have verified before submitting the report.
- 主要言語
- C
- スター
- 4.1k
- フォーク
- 1.7k
- 平均マージ
- 1日 12時間
- マージ済み PR(30日)
- 570
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
apache/nuttx のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
apache/nuttx#19435 · コメント 8 件 ·
メンテナーはふだん 1 日以内に返信
-
Type: Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
apache/nuttx#17343 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
Arch: all OS: Linux Type: Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
apache/nuttx#16249 · コメント 7 件 ·
メンテナーはふだん 1 日以内に返信
-
arch/arm/stm32: serial setformat writes CR1 parity/word-length bits with UE=1 in several drivers対応中かも @Sarthak-Pandey が 2 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
apache/nuttx#20969 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Arch: risc-v Area: Memory Management OS: Linux Type: Bug
難易度 5/5 1週間以上 初心者へのやさしさ 38/100
apache/nuttx#20582 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
似ている issue
-
bug intrinsic medium priority rt_lib
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
[CLI] Clarify distinction between 'capture camera' and 'capture screen' in help text and outputオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
espressif/esp-vision#18 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
sumatrapdfreader/sumatrapdf#6417 · コメント 3 件 ·
-
[BUG] Cython cache evicts most recent instead of oldest entry on cleanup対応中かも @scoder が今日担当しました。 オープンBuild System defect
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 61/100
HexaCluster/credcheck#94 ·