nuttx/binfmt/Kconfig
Stuart Ianna 6492f0172e 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.
2023-06-28 15:16:28 +08:00

88 lines
2.0 KiB
Plaintext

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
config BINFMT_DISABLE
bool "Disable BINFMT support"
default n
---help---
By default, support for loadable binary formats is built. This logic
may be suppressed by defining this setting.
if !BINFMT_DISABLE
config PATH_INITIAL
string "Initial PATH Value"
default ""
depends on LIBC_ENVPATH
---help---
The initial value of the PATH variable. This is the colon-separated
list of absolute paths. E.g., "/bin:/usr/bin:/sbin"
config BINFMT_LOADABLE
bool
select BUILD_LOADABLE
default n
---help---
Automatically selected if a loadable binary format is selected.
config PIC
bool
default n
---help---
Automatically selected if the binary format requires position
independent operation.
config NXFLAT
bool "Enable the NXFLAT Binary Format"
default n
select BINFMT_LOADABLE
select PIC
---help---
Enable support for the NXFLAT binary format. Default: n
if NXFLAT
source "binfmt/libnxflat/Kconfig"
endif
config ELF
bool "Enable the ELF Binary Format"
default n
select BINFMT_LOADABLE
select LIBC_ARCH_ELF
---help---
Enable support for the ELF binary format. Default: n
if ELF
source "binfmt/libelf/Kconfig"
endif
endif
config BINFMT_CONSTRUCTORS
bool "C++ Static Constructor Support"
default n
depends on HAVE_CXX && SCHED_STARTHOOK && ELF
---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