Answers checklist.
IDF version.
6.0 (also present on master)
Espressif SoC revision.
ESP32S3
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
Development Kit.
Custom Board
Power Supply used.
USB
What is the expected behavior?
The project should compile with CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME=n and CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n (typical production config).
What is the actual behavior?
components/esp_gdbstub/src/gdbstub.c:833:16: error: implicit declaration of function 'command_name_matches' [-Wimplicit-function-declaration]
833 | } else if (command_name_matches("qSupported", cmd, 10)) {
| ^~~~~~~~~~~~~~~~~~~~
Steps to reproduce.
Set both CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME and CONFIG_ESP_GDBSTUB_SUPPORT_TASKS to n in sdkconfig. Build.
Root cause
In components/esp_gdbstub/src/gdbstub.c, the forward declaration of command_name_matches (line 43-45) is guarded by #if (CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME || CONFIG_ESP_GDBSTUB_SUPPORT_TASKS), but esp_gdbstub_handle_command calls it unconditionally (lines 833, 836). The definition (line 914) is also guarded.
The fix is to remove the #if guard from the forward declaration and definition, or guard the call sites as well.
Debug Logs.
Diagnostic report archive.
No response
More Information.
No response
Answers checklist.
IDF version.
6.0 (also present on master)
Espressif SoC revision.
ESP32S3
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
Development Kit.
Custom Board
Power Supply used.
USB
What is the expected behavior?
The project should compile with
CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME=nandCONFIG_ESP_GDBSTUB_SUPPORT_TASKS=n(typical production config).What is the actual behavior?
Steps to reproduce.
Set both
CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIMEandCONFIG_ESP_GDBSTUB_SUPPORT_TASKStonin sdkconfig. Build.Root cause
In
components/esp_gdbstub/src/gdbstub.c, the forward declaration ofcommand_name_matches(line 43-45) is guarded by#if (CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME || CONFIG_ESP_GDBSTUB_SUPPORT_TASKS), butesp_gdbstub_handle_commandcalls it unconditionally (lines 833, 836). The definition (line 914) is also guarded.The fix is to remove the
#ifguard from the forward declaration and definition, or guard the call sites as well.Debug Logs.
Diagnostic report archive.
No response
More Information.
No response