arch: remove BINFMT_FLAT_SHARED support

BINFMT_FLAT_SHARED was removed in the Linux Kernel by commit:
70578ff3367dd4ad8f212a9b5c05cffadabf39a8

It was m68k specific and got recently disabled in uClibc-ng, too.
See this commit:
https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=72b01dd20f9cea273809e3437b4aba849ae658af

Now that only BINFMT_FLAT_ONE is supported, remove the choice entirely.

BINFMT_FLAT_SEP_DATA was removed in 2018 from Buildroot by commit:
e2ea4157a9

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Waldemar Brodkorb 2024-05-11 10:08:57 +02:00 committed by Thomas Petazzoni
parent 8d5b3aac43
commit 5cfda60060
13 changed files with 9 additions and 58 deletions

View File

@ -146,6 +146,13 @@ endif
comment "Legacy options removed in 2024.05"
config BR2_BINFMT_FLAT_SHARED
bool "FLAT shared binary format removed"
help
Support for the FLAT shared binary format has been removed:
its support was removed from the Linux kernel, and also from
uClibc-ng, the only C library that supported it.
config BR2_PACKAGE_OMXPLAYER
bool "omxplayer removed"
select BR2_LEGACY

View File

@ -447,29 +447,4 @@ config BR2_BINFMT_FLAT
endchoice
# Set up flat binary type
choice
prompt "FLAT Binary type"
default BR2_BINFMT_FLAT_ONE
depends on BR2_BINFMT_FLAT
config BR2_BINFMT_FLAT_ONE
bool "One memory region"
help
All segments are linked into one memory region.
config BR2_BINFMT_FLAT_SHARED
bool "Shared binary"
depends on BR2_m68k
# Even though this really generates shared binaries, there is no libdl
# and dlopen() cannot be used. So packages that require shared
# libraries cannot be built. Therefore, we don't select
# BR2_BINFMT_SUPPORTS_SHARED and therefore force BR2_STATIC_LIBS.
# Although this adds -static to the compilation, that's not a problem
# because the -mid-shared-library option overrides it.
help
Allow to load and link indiviual FLAT binaries at run time.
endchoice
endmenu # Target options

View File

@ -15,7 +15,6 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y
# Binary format
BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
# Kernel

View File

@ -15,7 +15,6 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y
# Binary format
BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
# Kernel

View File

@ -15,7 +15,6 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y
# System
BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
BR2_GLOBAL_PATCH_DIR="board/canaan/k210-soc/patches"

View File

@ -15,7 +15,6 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y
# Binary format
BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
# Kernel

View File

@ -15,7 +15,6 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y
# System
BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
BR2_GLOBAL_PATCH_DIR="board/canaan/k210-soc/patches"

View File

@ -15,7 +15,6 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y
# Binary format
BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
# Kernel

View File

@ -15,7 +15,6 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y
# System
BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
BR2_GLOBAL_PATCH_DIR="board/canaan/k210-soc/patches"

View File

@ -15,7 +15,6 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y
# Binary format
BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
# Kernel

View File

@ -15,7 +15,6 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y
# System
BR2_BINFMT_FLAT=y
BR2_BINFMT_FLAT_ONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
BR2_GLOBAL_PATCH_DIR="board/canaan/k210-soc/patches"

View File

@ -184,28 +184,15 @@ ifeq ($(BR2_BINFMT_FLAT),y)
ifeq ($(BR2_RISCV_64),y)
TARGET_CFLAGS += -fPIC
endif
ifeq ($(BR2_BINFMT_FLAT_ONE),y)
ELF2FLT_FLAGS = $(if $($(PKG)_FLAT_STACKSIZE),\
-Wl$(comma)-elf2flt="-r -s$($(PKG)_FLAT_STACKSIZE)",\
-Wl$(comma)-elf2flt=-r)
else
ELF2FLT_FLAGS = $(if $($(PKG)_FLAT_STACKSIZE),\
-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\
-Wl$(comma)-elf2flt)
endif
TARGET_CFLAGS += $(ELF2FLT_FLAGS)
TARGET_CXXFLAGS += $(ELF2FLT_FLAGS)
TARGET_FCFLAGS += $(ELF2FLT_FLAGS)
TARGET_LDFLAGS += $(ELF2FLT_FLAGS)
endif
ifeq ($(BR2_BINFMT_FLAT_SHARED),y)
TARGET_LDFLAGS += -mid-shared-library -mshared-library-id=0
TARGET_CFLAGS += -mid-shared-library -mshared-library-id=0
TARGET_FCFLAGS += -mid-shared-library -mshared-library-id=0
TARGET_CXXFLAGS += -mid-shared-library -mshared-library-id=0
endif
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
TARGET_CROSS = $(HOST_DIR)/bin/$(GNU_TARGET_NAME)-
else

View File

@ -57,19 +57,10 @@ UCLIBC_LOCALES = \
endif
# noMMU binary formats
ifeq ($(BR2_BINFMT_FLAT_ONE),y)
ifeq ($(BR2_BINFMT_FLAT),y)
define UCLIBC_BINFMT_CONFIG
$(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FLAT)
$(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA)
$(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT)
$(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF)
endef
endif
ifeq ($(BR2_BINFMT_FLAT_SHARED),y)
define UCLIBC_BINFMT_CONFIG
$(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT)
$(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA)
$(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT)
$(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF)
endef
endif
@ -140,7 +131,7 @@ endif # arm
ifeq ($(UCLIBC_TARGET_ARCH),m68k)
# disable DOPIC for flat without separate data
ifeq ($(BR2_BINFMT_FLAT_ONE),y)
ifeq ($(BR2_BINFMT_FLAT),y)
define UCLIBC_M68K_BINFMT_FLAT
$(call KCONFIG_DISABLE_OPT,DOPIC)
endef