@@ -12,6 +12,9 @@ config BR2_SOFT_FLOAT
config BR2_USE_MMU
bool
+config BR2_ARCH_HAS_FDPIC_SUPPORT
+ bool
+
choice
prompt "Target Architecture"
default BR2_i386
@@ -418,6 +421,7 @@ endif
choice
prompt "Target Binary Format"
default BR2_BINFMT_ELF if BR2_USE_MMU
+ default BR2_BINFMT_FDPIC if BR2_ARCH_HAS_FDPIC_SUPPORT
default BR2_BINFMT_FLAT
config BR2_BINFMT_ELF
@@ -429,6 +433,16 @@ config BR2_BINFMT_ELF
and executables used across different architectures and
operating systems.
+config BR2_BINFMT_FDPIC
+ bool "FDPIC"
+ depends on BR2_ARCH_HAS_FDPIC_SUPPORT
+ select BR2_BINFMT_SUPPORTS_SHARED
+ help
+ ELF FDPIC binaries are based on ELF, but allow the individual
+ load segments of a binary to be located in memory
+ independently of each other. This makes this format ideal for
+ use in environments where no MMU is available.
+
config BR2_BINFMT_FLAT
bool "FLAT"
depends on !BR2_USE_MMU
@@ -56,6 +56,14 @@ UCLIBC_LOCALES = \
endif
# noMMU binary formats
+ifeq ($(BR2_BINFMT_FDPIC),y)
+define UCLIBC_BINFMT_CONFIG
+ $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config)
+ $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config)
+ $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config)
+ $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config)
+endef
+endif
ifeq ($(BR2_BINFMT_FLAT_ONE),y)
define UCLIBC_BINFMT_CONFIG
$(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FLAT)
This reverts commit 58dcd28dfbed481becb822b009583a63efbc6ffa. ARM supports FDPIC, so this code is needed once again. Signed-off-by: Ben Wolsieffer <Ben.Wolsieffer@hefring.com> --- arch/Config.in | 14 ++++++++++++++ package/uclibc/uclibc.mk | 8 ++++++++ 2 files changed, 22 insertions(+)