Commit Graph
100 Commits
Author SHA1 Message Date
Alexey Lapshin 4e2cb08534 feat(gdbstub): add f- and q-registers support 2026-03-27 17:04:24 +08:00
Alexey Lapshin 1fc39de502 fix(gdbstub): fix segfault when a non-running task is selected 2026-03-27 17:04:24 +08:00
Alexey Lapshin 95a49ae080 fix(gdbstub): use separate running and selected tasks
'running' - task that was running when execution stopped
  'selected' - task that was selected by used in GDB (command "thread <id>")

Note that initially, after the program is interrupted 'selected' == 'running'
2026-03-27 17:04:24 +08:00
Alexey Lapshin 7b37bbafba fix(esp_driver_spi): fix static analyzer checks 2026-02-18 12:51:05 +07:00
Alexey Lapshin 561c1ebd41 fix(ci): check all components using static analyzer 2026-02-18 12:51:01 +07:00
Alexey Lapshin 74ed018fc1 fix(test): fix tests according to the new toolchain flags 2026-02-05 13:40:11 +07:00
Alexey Lapshin 776f9fd09d fix(newlib): fix ci: add .build-test-rules.yml 2026-02-05 13:40:11 +07:00
Alexey Lapshin 18b369cc9d fix(esp_libc): add workaround for pthread_sigmask declaration in picolibc signal.h 2026-02-05 13:40:11 +07:00
Alexey Lapshin f9ad9a4d16 fix(esp_rom): use hmac_md5 and hmac_md5_vector from ROM only if CONFIG_LIBC_NEWLIB 2026-02-05 13:40:11 +07:00
Alexey Lapshin 988d0da6d4 fix(esp_rom): adapt changes 2026-02-05 13:40:11 +07:00
Alexey Lapshin 7b1100db2d fix(newlib): adapt changes 2026-02-05 13:40:11 +07:00
Alexey Lapshin 09d25aba62 fix(efuse): use proper headers in sources 2026-02-05 13:40:11 +07:00
Alexey Lapshin a2840fb46a fix(tee): fix incorrect test expectation logic 2026-02-05 13:40:11 +07:00
Alexey Lapshin 250db2464d fix(icmp_echo): fix incorrect test expectation logic 2026-02-05 13:40:11 +07:00
Alexey Lapshin d2e0125975 fix(iperf): fix incorrect test expectation logic 2026-02-05 13:40:11 +07:00
Alexey Lapshin 7161408eb0 fix(console): add linenoise multithreading support for Picolibc 2026-02-05 13:40:08 +07:00
Alexey Lapshin 7dd7edabaa fix(esp_tee): build esp_tee only with CONFIG_LIBC_NEWLIB to reduce size 2026-02-02 12:27:27 +07:00
Alexey Lapshin 2909fccdfe fix(esp_coex): add missing include for sdkconfig.h 2026-02-02 12:27:27 +07:00
Alexey Lapshin c482665638 fix(ci): fix check_public_headers.py to check system headers 2026-02-02 12:27:24 +07:00
Alexey Lapshin 09f8bf3399 fix(esp_phy): use toolchain flags for external project 2026-01-30 23:39:56 +07:00
Alexey Lapshin 0b3929d0d9 feat(esp_libc): add full support for picolibc 2026-01-30 23:39:53 +07:00
Alexey Lapshin 1c08b38b27 feat(build): propagate compiler flags from files to toolchain.cmake
This change improves build consistency across external projects integrated
through CMake by ensuring that compiler flags defined in configuration files
are passed correctly to the toolchain. It covers the majority of use cases,
as external projects are typically also CMake-based. For projects that use
a custom build system, users will still need to specify the required flags
manually.
2026-01-30 17:30:49 +07:00
Alexey Lapshin 21fa93e55a feat(tools): update toolchain version to esp-14.2.0_20260121 2026-01-30 17:30:49 +07:00
Alexey Lapshin 4e525b6875 feat(tools): update toolchain version to esp-14.2.0_20251107 2025-11-08 11:15:14 +07:00
Alexey Lapshin cdf8419103 feat(tools): update gdb version to 16.3_20250913 2025-09-17 16:24:06 +07:00
Alexey Lapshin b88cc1724f fix(newlib): increase limit for misaligned access testcases 2025-08-18 22:29:58 +07:00
Alexey Lapshin 511e970d07 feat(newlib): add test for newlib_nano with esp32-psram 2025-08-15 12:10:47 +07:00
Alexey Lapshin e1eae237a3 change(newlib): change CONFIG_NEWLIB* prefix to CONFIG_LIBC_NEWLIB* 2025-08-15 12:06:24 +07:00
Alexey Lapshin fec78adc92 feat(tools): update toolchain version to esp-14.2.0_20250730 2025-08-07 12:14:35 +08:00
Alexey Lapshin f6826dda7e fix(esp_wifi): fix test app diff threshold 2025-07-16 14:47:33 +08:00
Alexey Lapshin 4bfb897556 Merge branch 'feature/update-gdb-to-16.2_20250324' into 'master'
feat(tools): update gdb version to 16.2_20250324

See merge request espressif/esp-idf!38014
2025-04-08 12:29:05 +08:00
Alexey Lapshin fa0a2d997b Merge branch 'fix/newlib-include-missed-test' into 'master'
fix(newlib): include missed test for printf

See merge request espressif/esp-idf!38030
2025-03-27 20:04:27 +08:00
Alexey Lapshin a31f487760 Merge branch 'feat/newlib-optimized-misaligned-memory' into 'master'
feat(newlib): riscv: add CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS config option

See merge request espressif/esp-idf!36704
2025-03-27 16:32:01 +08:00
Alexey Lapshin 35531c6344 fix(newlib): include missed test for printf 2025-03-26 18:44:12 +07:00
Alexey Lapshin ec68cb3300 feat(newlib): riscv: add CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS config option
This option replaces implementations of functions from ROM:
  - memcpy
  - memcmp
  - memmove
  - str[n]cpy
  - str[n]cmp

The functions used in the firmware will be better optimized for misaligned
memory. Here are some measurements in CPU cycles for 4096-byte buffers:

  memcpy:  28676 -> 4128
  memcmp:  49147 -> 14259
  memmove: 33896 -> 8086
  strcpy:  32771 -> 17313
  strcmp:  32775 -> 13191
2025-03-26 17:27:24 +07:00
Alexey Lapshin b62c29c231 feat(tools): update gdb version to 16.2_20250324 2025-03-25 08:27:05 +00:00
Alexey Lapshin 7124690c29 fix(tools): remove unused variables in gdbinit.cmake
Closes https://github.com/espressif/esp-idf/issues/15035
2025-03-20 13:40:14 +07:00
Alexey Lapshin 66cf5184ff Merge branch 'fix/no_inline__atomic_test_and_set' into 'master'
fix(newlib): add missing __atomic_test_and_set for RISCV chips wo 'a' extension

Closes IDFGH-14383

See merge request espressif/esp-idf!36387
2025-01-15 19:29:33 +08:00
Alexey Lapshin 793e394f5a fix(newlib): add missing __atomic_test_and_set for RISCV chips wo 'a' extension
Before the change described in
https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631393.html it
appeared that inlining built-in GCC function __atomic_test_and_set() was
incorrect. It resulted in a non-atomic write.
After the change now present in GCC, the IDF should include the function
__atomic_test_and_set() to successfully link the final binary.

Closes https://github.com/espressif/esp-idf/issues/15167
2025-01-15 13:57:58 +07:00
Alexey Lapshin 7f80baa1f6 Merge branch 'feature/esp32c5-esp32c61_enable-panic-tests' into 'master'
feat(panic): support HWSG for esp32c5, esp32c61 and enable testing

Closes IDF-8662 and IDF-9269

See merge request espressif/esp-idf!35816
2024-12-27 19:34:25 +08:00
Alexey Lapshin b58c9a4219 feat(panic): support HWSG for esp32c5, esp32c61 and enable testing 2024-12-26 12:45:17 +07:00
Alexey Lapshin f667ba7394 Merge branch 'feature/add-xesppie-support-for-gdbstub' into 'master'
feat(gdbstub): add riscv xesppie extension support

Closes IDF-8606

See merge request espressif/esp-idf!35414
2024-12-19 18:38:15 +08:00
Alexey Lapshin 36e65097cd feat(gdbstub): add riscv xesppie extension support 2024-12-19 14:07:04 +07:00
Alexey Lapshin 8d8bef4573 Merge branch 'fix/spi_types-deprecation-warnings' into 'master'
fix(spi): fix deprecation warnings

See merge request espressif/esp-idf!35504
2024-12-10 00:10:28 +08:00
Alexey Lapshin 966f61ef6e fix(spi): fix deprecation warnings 2024-12-09 20:56:54 +07:00
Alexey Lapshin 646985255b Merge branch 'fix/execute-gdb-without-built-app' into 'master'
tools: fix idf.py gdb execution in case app was not built

See merge request espressif/esp-idf!35485
2024-12-06 22:17:22 +08:00
Alexey Lapshin e0bb3a25e4 fix(tools): fix idf.py gdb execution in case app was not built 2024-12-06 19:15:56 +07:00
Alexey Lapshin 10115792ac fix(espcoredump): fix GCC-14 analyzer warnings for coredump 2024-12-04 18:43:30 +08:00
Alexey Lapshin bcd80c92f3 Merge branch 'fix/reduce_rtc_text_size' into 'master'
fix(system): linker script: free unused .rtc.text memory for esp32c3, esp32s2

See merge request espressif/esp-idf!33972
2024-12-03 13:22:45 +08:00
Alexey Lapshin f297a9d487 Merge branch 'feature/add-picolibc-support' into 'master'
Add picolibc support

Closes IDF-11319

See merge request espressif/esp-idf!33601
2024-12-03 13:12:41 +08:00
Alexey Lapshin 5282a99436 fix(examples): increased BtAppTask task's stack size to avoid overflow 2024-12-02 21:36:00 +07:00
Alexey Lapshin 244c369cd8 fix(xtensa): fix confusing backtrace when PC is invalid
Before this change _invalid_pc_placeholder pointed to address of _init
function from crti.o
This made GDB input a bit confusing:

  0x40080400 in _init ()
  (gdb) bt
  #0  0x40080400 in _init ()
  #1  0x400e519a in test_instr_fetch_prohibited () at /home/alex/git/esp-idf/tools/test_apps/system/panic/main/test_panic.c:271
  #2  0x400d89a7 in app_main () at /home/alex/git/esp-idf/tools/test_apps/system/panic/main/test_app_main.c:116
  #3  0x400e5f22 in main_task (args=0x0) at /home/alex/git/esp-idf/components/freertos/app_startup.c:208
  #4  0x400895a8 in vPortTaskWrapper (pxCode=0x400e5eb0 <main_task>, pvParameters=0x0) at /home/alex/git/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:139

After the change GDB prints output that contains a hint:

  _invalid_pc_placeholder () at /home/alex/git/esp-idf/components/xtensa/xtensa_vectors.S:2235
  2235	    UNREACHABLE_INSTRUCTION_CHECK_PREVIOUS_FRAMES
  (gdb) bt
  #0  _invalid_pc_placeholder () at /home/alex/git/esp-idf/components/xtensa/xtensa_vectors.S:2235
  #1  0x400e519e in test_instr_fetch_prohibited () at /home/alex/git/esp-idf/tools/test_apps/system/panic/main/test_panic.c:271
  #2  0x400d89ab in app_main () at /home/alex/git/esp-idf/tools/test_apps/system/panic/main/test_app_main.c:116
  #3  0x400e5f26 in main_task (args=0x0) at /home/alex/git/esp-idf/components/freertos/app_startup.c:208
  #4  0x400895a8 in vPortTaskWrapper (pxCode=0x400e5eb4 <main_task>, pvParameters=0x0) at /home/alex/git/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:139
2024-12-02 21:36:00 +07:00
Alexey Lapshin 6d945bf0f6 fix(ldgen): extend section name regex to include '_' (e.g.: used by picolibc) 2024-12-02 21:36:00 +07:00
Alexey Lapshin 888b5f7e8d feat(newlib): add picolibc support 2024-12-02 21:35:56 +07:00
Alexey Lapshin 22a38779fb fix(wpa_supplicant): remove duplicated code (endian.h) that exists in newlib component 2024-12-02 20:26:26 +07:00
Alexey Lapshin bfe3511493 fix(panic): fix HWSG testcase to avoid freertos watchpoint trap 2024-12-02 20:26:26 +07:00
Alexey Lapshin 8454aefc25 fix(esp_system): avoid placing sections between ASSERT_SECTIONS_GAP checks 2024-12-02 20:26:26 +07:00
Alexey Lapshin 1596369b44 fix(tools): fix ld_non_contiguous_memory test includes 2024-12-02 20:26:26 +07:00
Alexey Lapshin f6c48e2245 fix(ulp): rename putc -> putc_fn in structure to avoid applying "putc" macro 2024-12-02 20:26:26 +07:00
Alexey Lapshin e9c884cace fix(esp_driver_sdspi): fix test includes 2024-12-02 20:26:26 +07:00
Alexey Lapshin d0f05cd690 fix(esp_system): fix binary generation error when no eh_frame but TLS
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.
2024-12-02 20:26:26 +07:00
Alexey Lapshin 1232759fb7 fix(vfs): fix gcc 14 analyzer warning 2024-12-02 20:26:26 +07:00
Alexey Lapshin 9103f3fee5 Merge branch 'fix/gdbinit-rom-path-for-windows' into 'master'
fix(esp_rom): windows: use posix-path generation for gdbinit files

See merge request espressif/esp-idf!35290
2024-11-29 17:28:19 +08:00
Alexey Lapshin 79bfde31ec fix(esp_rom): windows: use posix-path generation for gdbinit files 2024-11-29 07:53:24 +07:00
Alexey Lapshin 91858ef3e4 Merge branch 'feature/update-toolchain-to-esp-14.2.0_20241119' into 'master'
feat(tools): update toolchain version to esp-14.2.0_20241119

Closes GCC-384

See merge request espressif/esp-idf!35051
2024-11-23 15:33:16 +08:00
Alexey Lapshin f052dbc522 feat(tools): update toolchain version to esp-14.2.0_20241119 2024-11-21 11:45:22 +07:00
Alexey Lapshin ed66c1fb7d fix(tools): fix adding tar.gz archive to tools.json if tar.xz is present 2024-11-21 11:45:22 +07:00
Alexey Lapshin 2a6e08431b Merge branch 'feature/move-gdb-options-to_project_description_json' into 'master'
feat(debugging): move gdbinit generation to CMake

Closes IDF-11489

See merge request espressif/esp-idf!34779
2024-11-20 14:30:40 +08:00
Alexey Lapshin 3c5d24e607 fix(system): linker script: free unused .rtc.text memory for esp32c3/esp32s2/esp32s3 2024-11-19 19:46:15 +08:00
Alexey Lapshin 48a49c8154 feat(debugging): move gdbinit generation to CMake
This feature is useful for 3rd-party software to run GDB with predefined
options that described in project_description.json file

allow to pass custom options to "idf.py gdb":

  --gdb-commands: command line arguments for gdb. (without changes)
  -ex: pass command to gdb.
  -x: pass gdbinit file to gdb. Alias for old --gdbinit command
2024-11-19 16:41:38 +07:00
Alexey Lapshin 33149921aa fix(gdbstub): remove QThreadEvents+ from qSupported 2024-11-12 21:18:51 +07:00
Alexey Lapshin dca5d193fc feat(tools): update gdb version to 15.2_20241112 2024-11-12 14:07:16 +00:00
Alexey Lapshin 020bf08667 Merge branch 'fix/cxx-tls-destructors' into 'master'
fix(cxx): fix TLS classes destructor call

Closes IDFGH-13456

See merge request espressif/esp-idf!33039
2024-10-15 20:25:35 +08:00
Alexey Lapshin 08eadd8d25 fix(newlib): sbom: add CVE-2024-30949 to cve-exclude-list 2024-10-08 11:03:18 +02:00
Alexey Lapshin 1a6765f1a5 Merge branch 'feature/binary-size-exceeded-hint' into 'master'
feat(tools): add binary size exceeded hint

See merge request espressif/esp-idf!33969
2024-10-08 15:07:30 +08:00
Alexey Lapshin 9d32a31657 feat(tools): add binary size exceeded hint 2024-10-07 19:00:04 +07:00
Alexey Lapshin c4acf3faad fix(newlib): sbom: add CVE-2024-30949 to cve-exclude-list 2024-10-02 18:01:14 +07:00
Alexey Lapshin aa908c83a8 Merge branch 'fix/gdbstub_runtime_test_requiers_elf_file' into 'master'
fix(gdbstub_runtime): fix test gdbstub_runtime which requiers elf file

Closes IDFCI-1949, IDFCI-2311, IDF-8665, and IDF-9272

See merge request espressif/esp-idf!33750
2024-09-24 20:32:04 +08:00
Alexey Lapshin 84d1ca8f72 fix(gdbstub_runtime): fix test gdbstub_runtime which requiers elf file 2024-09-23 22:59:23 +07:00
Alexey Lapshin 0fb74b17ab Merge branch 'fix/kconfig-option-orphan_sections_warning' into 'master'
fix(build): fix orphan sections warning kconfig variable

See merge request espressif/esp-idf!32765
2024-09-22 21:57:12 +08:00
Alexey Lapshin 05c1a0cd7b fix(test): reduce gdb_loadable_elf binary size 2024-09-21 17:13:12 +07:00
Alexey Lapshin 2a02d45bde fix(cxx): fix TLS classes destructor call
Closes https://github.com/espressif/esp-idf/issues/14360
2024-09-20 17:17:31 +07:00
Alexey Lapshin 599c14d8f0 Merge branch 'feature/update-toolchain-to-esp-14.2.0_20240903' into 'master'
feat(tools): update toolchain version to esp-14.2.0_20240906

Closes IDFGH-13033, IDFGH-13355, and IDFGH-13360

See merge request espressif/esp-idf!33295
2024-09-09 14:22:47 +08:00
Alexey Lapshin 57d39c3923 fix(driver_spi): supress overlapping buffers warning for GCC analyzer 2024-09-08 13:53:52 +07:00
Alexey Lapshin 401b395106 fix(hal): supress overlapping buffers warning for GCC analyzer 2024-09-08 13:53:52 +07:00
Alexey Lapshin eee58bb717 fix(camera_dsi): update esp_cam_sensor example dependency 2024-09-08 13:53:52 +07:00
Alexey Lapshin 2dc4ca4fa6 fix(ci): ignore .section field for check_public_headers.py 2024-09-08 13:53:52 +07:00
Alexey Lapshin d529da25c4 fix(driver_dac): fix GCC 14 analyzer warnings
error: check of 's_ddp' for NULL after already dereferencing it
2024-09-08 13:53:52 +07:00
Alexey Lapshin 1370511dff fix(esp_timer): place esp_timer_get_time test to IRAM 2024-09-08 13:53:52 +07:00
Alexey Lapshin 29b028076a feat(cxx): change test value of __cplusplus to 202302L 2024-09-08 13:53:52 +07:00
Alexey Lapshin 664c2e6b77 feat(build): add CONFIG_COMPILER_DISABLE_GCC14_WARNINGS option 2024-09-08 13:53:52 +07:00
Alexey Lapshin 6f1671c9c9 fix(i2c): fix memory allocation size in example 2024-09-08 13:53:52 +07:00
Alexey Lapshin f1c0fc0bbd fix(bt): fix alloc-size warning
Warning: allocation of insufficient size '36' for type 'tBTA_DM_MSG'
with size '320' [-Werror=alloc-size]
2024-09-08 13:53:52 +07:00
Alexey Lapshin 205e814563 fix(esp_psram): fix dead code compilation 2024-09-08 13:53:52 +07:00
Alexey Lapshin 5737ba06c3 fix(esp_hw_support): fix acessing array bellow bounds 2024-09-08 13:53:52 +07:00
Alexey Lapshin a262e879d1 fix(esp_http_server): fix GCC 14 analyzer warnings 2024-09-08 13:53:52 +07:00
Alexey Lapshin 725b9ec81e fix(freertos): fix GCC 14 analyzer warnings 2024-09-08 13:53:52 +07:00
Alexey Lapshin 06fdb02435 fix(newlib): fix GCC 14 analyzer warnings 2024-09-08 13:53:52 +07:00
Alexey Lapshin 5e4d6190d8 fix(pthread): fix GCC 14 analyzer warnings 2024-09-08 13:53:52 +07:00
Alexey Lapshin 4d2881dac1 fix(hal): fix GCC 14 analyzer warnings 2024-09-08 13:53:52 +07:00