From 4068f11129fb9b5c72816790374b3d8fb5713f58 Mon Sep 17 00:00:00 2001 From: dongjiuzhu1 Date: Thu, 26 Oct 2023 12:42:55 +0800 Subject: [PATCH] binfmt/elf: Select ARCH_USE_TEXT_HEAP if ARCH_HAVE_TEXT_HEAP Using up_textheap_memalign to allocate memory if arch support textheap for loading section. The default system heap does not support execution permissions, so up_textheap_memalign allocation is required. this patch can fix issue about #11043 update esp32 elf config: remove -CONFIG_ARCH_USE_TEXT_HEAP=y becuase ARCH_CHIP_ESP32 select ARCH_HAVE_TEXT_HEAP Signed-off-by: dongjiuzhu1 --- binfmt/Kconfig | 1 + boards/risc-v/esp32c3/esp32c3-devkit/configs/elf/defconfig | 1 - boards/xtensa/esp32/esp32-devkitc/configs/elf/defconfig | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) diff --git a/binfmt/Kconfig b/binfmt/Kconfig index 5587107176..7f6e3cfbfc 100644 --- a/binfmt/Kconfig +++ b/binfmt/Kconfig @@ -51,6 +51,7 @@ config ELF default n select BINFMT_LOADABLE select LIBC_ARCH_ELF + select ARCH_USE_TEXT_HEAP if ARCH_HAVE_TEXT_HEAP ---help--- Enable support for the ELF binary format. Default: n diff --git a/boards/risc-v/esp32c3/esp32c3-devkit/configs/elf/defconfig b/boards/risc-v/esp32c3/esp32c3-devkit/configs/elf/defconfig index 70ab9856e1..9db821d235 100644 --- a/boards/risc-v/esp32c3/esp32c3-devkit/configs/elf/defconfig +++ b/boards/risc-v/esp32c3/esp32c3-devkit/configs/elf/defconfig @@ -16,7 +16,6 @@ CONFIG_ARCH_CHIP_ESP32C3WROOM02=y CONFIG_ARCH_INTERRUPTSTACK=8192 CONFIG_ARCH_RISCV=y CONFIG_ARCH_STACKDUMP=y -CONFIG_ARCH_USE_TEXT_HEAP=y CONFIG_BOARDCTL_ROMDISK=y CONFIG_BOARD_LOOPSPERMSEC=15000 CONFIG_BUILTIN=y diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/elf/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/elf/defconfig index e6367feb28..01db1c6438 100644 --- a/boards/xtensa/esp32/esp32-devkitc/configs/elf/defconfig +++ b/boards/xtensa/esp32/esp32-devkitc/configs/elf/defconfig @@ -16,7 +16,6 @@ CONFIG_ARCH_CHIP="esp32" CONFIG_ARCH_CHIP_ESP32=y CONFIG_ARCH_CHIP_ESP32WROVER=y CONFIG_ARCH_STACKDUMP=y -CONFIG_ARCH_USE_TEXT_HEAP=y CONFIG_ARCH_XTENSA=y CONFIG_BINFMT_CONSTRUCTORS=y CONFIG_BOARDCTL_ROMDISK=y