esp-idf/components/newlib
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
..
platform_include change(newlib): update newlib according to new internal structures 2023-10-09 12:13:02 +04:00
port change(newlib): use GCC builtin subword atomics 2023-10-09 12:13:02 +04:00
priv_include components: Change copyright in components files 2022-06-17 16:59:56 +02:00
test_apps fix(heap): memalign respect malloc_alwaysinternal_limit 2023-11-01 01:58:27 +08:00
.gitignore Initial public version 2016-08-17 23:08:22 +08:00
abort.c hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces 2022-07-22 00:06:06 +08:00
assert.c feature: add ram loadable app support 2023-02-01 17:57:22 +08:00
CMakeLists.txt refactor(linux): excluded all non-Linux components from build 2023-10-16 17:06:54 +08:00
COPYING.NEWLIB Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
esp32-spiram-rom-functions-c.lf fix(newlib): fix esp32-spiram-rom-functions entries name 2023-10-09 12:13:02 +04:00
getentropy.c feat(newlib): Implement getentropy() function 2023-08-08 18:06:58 +03:00
heap.c fix(heap): memalign respect malloc_alwaysinternal_limit 2023-11-01 01:58:27 +08:00
Kconfig newlib: update newlib nano documentation for C6 2023-02-08 10:56:28 +08:00
locks.c Use correct recursive mutex for env and regular mutex for tz 2023-01-30 10:59:53 +01:00
newlib_init.c change(newlib): update newlib according to new internal structures 2023-10-09 12:13:02 +04:00
newlib.lf change(newlib): use GCC builtin subword atomics 2023-10-09 12:13:02 +04:00
poll.c components: Change copyright in components files 2022-06-17 16:59:56 +02:00
pthread.c feat(pthread): added pthread_condattr* stubs to avoid linker errors 2023-09-26 12:17:38 +08:00
random.c esp_hw_support/esp_system: Re-evaluate header inclusions and include directories 2022-03-07 11:18:08 +05:30
realpath.c components: Change copyright in components files 2022-06-17 16:59:56 +02:00
reent_init.c change(newlib): update newlib according to new internal structures 2023-10-09 12:13:02 +04:00
sbom.yml feat(newlib): Add sbom manifest file 2023-10-13 19:15:03 +04:00
sdkconfig.rename.esp32 soc: moved kconfig options out of the target component. 2022-04-21 12:09:43 +08:00
sdkconfig.rename.esp32c3 soc: moved kconfig options out of the target component. 2022-04-21 12:09:43 +08:00
sdkconfig.rename.esp32s2 soc: moved kconfig options out of the target component. 2022-04-21 12:09:43 +08:00
sdkconfig.rename.esp32s3 soc: moved kconfig options out of the target component. 2022-04-21 12:09:43 +08:00
stdatomic.c newlib: implement 8/16-bit atomic operations for riscv 2023-02-22 05:33:03 +00:00
syscalls.c newlib: implement fsync for the case of CONFIG_VFS_SUPPORT_IO=0 2023-04-18 11:19:36 +02:00
sysconf.c components: Change copyright in components files 2022-06-17 16:59:56 +02:00
system_libs.lf build: Adds support for Clangs's toolchain compiler-rt 2023-06-08 16:49:37 +03:00
termios.c components: Change copyright in components files 2022-06-17 16:59:56 +02:00
time.c fix(newlib): included limits.h to fix warning 2023-07-12 10:03:03 +08:00