Commit Graph

437 Commits

Author SHA1 Message Date
Marius Vikhammer
a04bedc4ce Merge branch 'bugfix/assert_ndebug' into 'master'
feat(newlib): add option to disable eval of expression in assert() when NDEBUG set

Closes IDFGH-479 and IDFGH-8692

See merge request espressif/esp-idf!32887
2024-08-26 15:42:31 +08:00
Marius Vikhammer
ff8265b6b3 feat(newlib): add option to disable eval of expression in assert() when NDEBUG set
According to the standard assert(X) should be replaced by a void expression when
NDEBUG is set. IDF's behavior was to not trigger an assertion, but we would still
evaluate X, e.g. if X was a function it would be ran.

This MR adds a kconfig option CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE which allows us
revert the behavior to be inline with the standard.

With IDF v6.0 the plan is to make CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE=n the default
behavior.

Closes https://github.com/espressif/esp-idf/issues/10136
Closes https://github.com/espressif/esp-idf/issues/2758
2024-08-20 09:26:54 +08:00
Marius Vikhammer
596f635b28 fix(newlib): fixed potential overflow in usleep
If trying to usleep for 0xFFFF FFFF us the calculation of delay ticks would overflow
resulting in the system not sleeping at all.

Closes https://github.com/espressif/esp-idf/issues/14390
2024-08-20 09:26:27 +08:00
Marius Vikhammer
69ca6e49a7 test(console): add tests for console with vfs disabled 2024-08-12 10:01:04 +08:00
Alexey Lapshin
24e2426b9e fix(newlib): fix include sys/dirent.h breaking change 2024-07-31 17:12:23 +07:00
Jiang Jiang Jian
e37ff3565b Merge branch 'bugfix/fix_newlib_nano_float_printf_issues' into 'master'
fix(esp_rom): add new rom caps ESP_ROM_HAS_NEWLIB_PRINTF_BUG

See merge request espressif/esp-idf!30956
2024-07-26 17:37:03 +08:00
wanlei
3cf069c7d8 feat(esp32c61): disable unsupported build test 2024-07-16 16:06:19 +08:00
Marius Vikhammer
b6d3e1e8e3 test(newlib): fixed newlib test failing to build for C5 2024-07-11 09:33:04 +08:00
laokaiyao
cb22b8aaf7 ci(esp32c5): enable c5 target test 2024-07-02 16:45:49 +08:00
Alexey Lapshin
ed6e497c6f feat(build): add COMPILER_STATIC_ANALYZER option 2024-06-18 14:25:37 +08:00
Marius Vikhammer
bfe974a9a2 docs(links): fix broken links found in CI 2024-05-30 14:21:00 +08:00
Tomáš Rohlínek
0b4fff69c5
fix(newlib/stdio): remove incorrect check in /dev/console init
Closes https://github.com/espressif/esp-idf/issues/13439
2024-05-27 10:43:13 +02:00
Konstantin Kondrashov
b0457ee0ac feat(newlib): Adds flockfile/funlockfile for safe multi-line printing
for printf, vprintf, etc.

Closes https://github.com/espressif/esp-idf/issues/2565
2024-05-24 14:16:16 +03:00
Jiang Guang Ming
5e283e03b8 feat(newlib): add test case for printf float 2024-05-24 17:44:59 +08:00
Jiang Guang Ming
e829cee2fd fix(esp_rom): add new rom caps ESP_ROM_HAS_NEWLIB_NANO_PRINTF_FLOAT_BUG 2024-05-24 17:40:34 +08:00
Alexey Gerenkov
57f61d2311 feat(tools): Update Clang version to esp-17.0.1_20240419 2024-05-03 16:55:13 +03:00
David Cermak
b1ea47af4c fix(newlib): Allow for timefunc customization if not impl
Related https://github.com/espressif/esp-idf/issues/11873
2024-04-09 16:49:16 +08:00
laokaiyao
65b1fd33d3 ci(esp32c5mp): disable the unsupported tests 2024-04-07 12:13:29 +08:00
Alexey Lapshin
9ff7ad2173 feat(esp_rom): add esp_rom_libc_stubs.h 2024-04-03 18:34:44 +04:00
wanlei
20c18ac52b feat(esp32c61): final introduce helloworld support 2024-04-02 10:50:52 +08:00
Xiao Xufeng
313c4f2cdc fix(all): remove unused header includes 2024-03-25 13:58:40 +08:00
Alexey Lapshin
31a951268a feat(newlib): get rid of dirent.h in favor of toolchain 2024-03-15 12:36:00 +04:00
Alexey Lapshin
4f09fba127 fix(newlib): fix esp32/esp32s3 atomics on PSRAM
Closes https://github.com/espressif/esp-idf/issues/4635
2024-03-15 12:36:00 +04:00
Guillaume Souchere
a7bd00eacc feat(newlib): Add definition of aligned_alloc to heap.c
Add the definition of aligned_alloc to the list of
definitions provided by heap.c.

Note that memalign (strictly equivalent) to aligned_alloc
is already defined in heap.c.
2024-03-06 11:06:14 +01:00
Marius Vikhammer
f2fe408b99 refactor(core): reformat newlib and pthread with astyle 2024-02-27 10:00:06 +08:00
fl0wl0w
90d1dcfd76 feat(freertos): Introduced new Kconfig option CONFIG_FREERTOS_NUMBER_OF_CORES
This commit replaces the use of portNUM_PROCESSORS and configNUM_CORES
macros in all of ESP-IDF. These macros are needed to realize an SMP
scenario by fetching the number of active cores FreeRTOS is running on.
Instead, a new Kconfig option, CONFIG_FREERTOS_NUMBER_OF_CORES, has been
added as a proxy for the FreeRTOS config option, configNUMBER_OF_CORES.
This new commit is now used to realize an SMP scenario in various places
in ESP-IDF.

[Sudeep Mohanty: Added new Kconfig option CONFIG_FREERTOS_NUMBER_OF_CORES]

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2024-02-09 09:11:28 +01:00
Ivan Grokhotkov
dee5b087fa
feat(newlib): implement scandir and alphasort
Based on https://man7.org/linux/man-pages/man3/scandir.3.html
2024-01-25 11:03:19 +01:00
Marius Vikhammer
4b89e52964 fix(newlib): fix stub_table init on C5 2024-01-23 18:05:53 +08:00
C.S.M
298931596a Merge branch 'bugfix/wrong_serial_num_2_rom' into 'master'
fix(uart,usj..): Fix wrong serial number that has been parsed to rom functions

Closes IDFGH-11872

See merge request espressif/esp-idf!28414
2024-01-18 16:17:37 +08:00
Cao Sen Miao
6768805d20 fix(uart,usj...): Fix wrong serial number that has been parsed to rom functions,
Closes https://github.com/espressif/esp-idf/issues/12958
2024-01-18 10:51:51 +08:00
Marius Vikhammer
9ab0d95f65 test(newlib): enable and fix newlib tests on P4 2024-01-18 09:52:11 +08:00
laokaiyao
11e19f40b9 feat(esp32c5): support to build hello world on esp32c5 beta3 2024-01-09 13:11:11 +08:00
Armando
3c5a4f9e8a ci(p4): added todo jira for disabled tests on p4 2024-01-04 09:36:38 +08:00
Armando
1ab742b3c3 ci(p4): enable esp32p4 target test 2024-01-04 09:34:55 +08:00
Song Ruo Jing
0e759c6deb Merge branch 'refactor/esp_driver_uart' into 'master'
refactor(uart): make uart driver as component

Closes IDF-8384

See merge request espressif/esp-idf!27333
2023-12-18 19:16:34 +08:00
Song Ruo Jing
bc09031496 refactor(uart_vfs): Move uart implementation of vfs to esp_driver_uart
Deprecated esp_vfs_dev_uart_xxx APIs
vfs_uart test case moved to esp_driver_uart test_apps
Astyle fixed for uart_vfs
2023-12-15 17:14:55 +08:00
Jakob Hasse
874d10ce11 refactor(esp_system): moved shared stack tests from newlib to here 2023-12-11 14:20:55 +08:00
Sudeep Mohanty
bf237a2bd4 Merge branch 'feature/freertos_expose_list_integrity_check_option' into 'master'
feat(freertos): Exposed Kconfig option for configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES

Closes IDF-8366

See merge request espressif/esp-idf!26960
2023-11-14 21:27:19 +08:00
Sudeep Mohanty
d507a86285 feat(freertos): Exposed Kconfig option for configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES
This commit exposes the FreeRTOS List integrity check option
configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES via menuconfig.
2023-11-09 14:54:13 +01:00
Jakob Hasse
8624e9edf4 fix(newlib,ci): wrong floating point number handling in tests 2023-11-09 17:12:07 +08:00
Cody P Schafer
9e1e245477 fix(heap): memalign respect malloc_alwaysinternal_limit
This changes `memalign` (and `posix_memalign`) so that it uses an
allocation method with the same selection criteria (checking
`malloc_alwaysinternal_limit` and picking one of:

- always MALLOC_CAP_INTERNAL
- MALLOC_CAP_INTERNAL first with fallback
- MALLOC_CAP_SPIRAM first with fallback

`malloc_alwaysinternal_limit` is in turn set by the options
`CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL` and
`CONFIG_SPRIAM_USE_CAPS_ALLOC`.

This notably affects folks using esp-rs to build rust code for the
esp-idf, as all allocations from rust use `memalign`.

Merges https://github.com/espressif/esp-idf/pull/12375
2023-11-01 01:58:27 +08:00
Zim Kalinowski
fa1a3ce0b5 Merge branch 'refactor/components_linux_compatible' into 'master'
Exclude all currently incompatible components from Linux build

Closes IDF-8318 and IDF-5996

See merge request espressif/esp-idf!25598
2023-10-18 20:17:49 +08:00
Jakob Hasse
548022fbe6 refactor(linux): excluded all non-Linux components from build
* All components which won't build (yet) on Linux are excluded.
  This enables switching to Linux in an application without
  explicitly setting COMPONENTS to main in the main
  CMakeLists.txt.
* ESP Timer provides headers for Linux now
* automatically disabling LWIP in Kconfig if it is not available

doc(linux): brought section
  "Component Linux/Mock Support Overview" up to date
2023-10-16 17:06:54 +08:00
Alexey Lapshin
b41b175a59 feat(newlib): Add sbom manifest file 2023-10-13 19:15:03 +04:00
Alexey Lapshin
932040e08c fix(newlib): fix esp32-spiram-rom-functions entries name 2023-10-09 12:13:02 +04:00
Alexey Lapshin
fdc6d0d813 change(newlib): use GCC builtin subword atomics 2023-10-09 12:13:02 +04:00
Alexey Lapshin
a43c509d4b change(newlib): update newlib according to new internal structures 2023-10-09 12:13:02 +04:00
Alexey Lapshin
c94d443a1b feat(newlib): add iterator into test output 2023-10-09 12:13:02 +04:00
Jakob Hasse
a937efef1a feat(pthread): added pthread_condattr* stubs to avoid linker errors
Closes https://github.com/espressif/esp-idf/issues/12171
2023-09-26 12:17:38 +08:00
Chen Yudong
2e11919f70 fix(ci): change build-test-rules files folder 2023-09-20 19:17:06 +08:00