1
0
Fork 0
forked from nuttx/nuttx-update

binfmt/elf: Allow the userspace ELF type to be defined by board configuration.

This change allows boards to define an additional kconfig option, which specifies the final link format of application executables.

By selecting `CONFIG_BINFMT_ELF_RELOCATABLE`, and providing an appropriate linker script, applications can be fully linked, removing the need to process relocations.
This commit is contained in:
Stuart Ianna 2023-06-27 10:03:20 +10:00 committed by Xiang Xiao
parent 9bd1d5ddda
commit 6492f0172e
2 changed files with 23 additions and 0 deletions

View file

@ -474,6 +474,10 @@ config ARCH_HAVE_CPUINFO
bool
default n
config ARCH_HAVE_ELF_EXECUTABLE
bool
default n
config ARCH_FPU
bool "FPU support"
default y

View file

@ -66,3 +66,22 @@ config BINFMT_CONSTRUCTORS
---help---
Built-in support for C++ constructors in loaded modules. Currently
only support for ELF binary formats.
choice
prompt "File output format"
default BINFMT_ELF_RELOCATABLE
---help---
Defines the type of ELF file produced by the NuttX build system.
config BINFMT_ELF_RELOCATABLE
bool "Relocatable ELF"
---help---
Produce a relocatable object as output. This is also known as partial linking.
config BINFMT_ELF_EXECUTABLE
bool "Executable ELF"
depends on ARCH_HAVE_ELF_EXECUTABLE
---help---
Produce a full linked executable object as output.
endchoice