mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-27 13:16:35 +00:00
arch: toolchain: Introduce binary formats BINFMT_*.
Just introduce the symbol and options in arch generic Config.in. Append FLAT format link flags to external toolchain wrapper. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
f88188f09e
commit
57133825c9
@ -172,4 +172,14 @@ config BR2_PACKAGE_INPUT_TOOLS_EVTEST
|
|||||||
help
|
help
|
||||||
The evtest program from input-tools is now a separate package.
|
The evtest program from input-tools is now a separate package.
|
||||||
|
|
||||||
|
config BR2_BFIN_FDPIC
|
||||||
|
bool "BR2_BFIN_FDPIC is now BR2_BINFMT_FDPIC"
|
||||||
|
select BR2_BINFMT_FDPIC
|
||||||
|
select BR2_LEGACY
|
||||||
|
|
||||||
|
config BR2_BFIN_FLAT
|
||||||
|
bool "BR2_BFIN_FLAT is now BR2_BINFMT_FLAT"
|
||||||
|
select BR2_BINFMT_FLAT
|
||||||
|
select BR2_LEGACY
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
@ -189,6 +189,40 @@ config BR2_GCC_TARGET_ABI
|
|||||||
config BR2_GCC_TARGET_CPU
|
config BR2_GCC_TARGET_CPU
|
||||||
string
|
string
|
||||||
|
|
||||||
|
# Set up target binary format
|
||||||
|
choice
|
||||||
|
prompt "Target Binary Format"
|
||||||
|
depends on BR2_bfin || BR2_m68k
|
||||||
|
default BR2_BINFMT_FDPIC
|
||||||
|
|
||||||
|
config BR2_BINFMT_ELF
|
||||||
|
bool "ELF"
|
||||||
|
depends on !BR2_bfin && !BR2_m68k
|
||||||
|
help
|
||||||
|
ELF (Executable and Linkable Format) is a format for libraries and
|
||||||
|
executables used across different architectures and operating
|
||||||
|
systems.
|
||||||
|
|
||||||
|
config BR2_BINFMT_FDPIC
|
||||||
|
bool "FDPIC"
|
||||||
|
depends on BR2_bfin || BR2_m68k
|
||||||
|
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_bfin || BR2_m68k
|
||||||
|
select BR2_PREFER_STATIC_LIB
|
||||||
|
help
|
||||||
|
FLAT binary is a relatively simple and lightweight executable format
|
||||||
|
based on the original a.out format. It is widely used in environment
|
||||||
|
where no MMU is available.
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
if BR2_arcle || BR2_arceb
|
if BR2_arcle || BR2_arceb
|
||||||
source "arch/Config.in.arc"
|
source "arch/Config.in.arc"
|
||||||
endif
|
endif
|
||||||
|
@ -1,14 +1,3 @@
|
|||||||
choice
|
|
||||||
prompt "Target ABI"
|
|
||||||
depends on BR2_bfin
|
|
||||||
default BR2_BFIN_FDPIC
|
|
||||||
config BR2_BFIN_FDPIC
|
|
||||||
bool "FDPIC"
|
|
||||||
config BR2_BFIN_FLAT
|
|
||||||
bool "FLAT"
|
|
||||||
select BR2_PREFER_STATIC_LIB
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
config BR2_ARCH
|
config BR2_ARCH
|
||||||
default "bfin"
|
default "bfin"
|
||||||
|
|
||||||
|
@ -784,12 +784,12 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX
|
|||||||
default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
|
default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
|
||||||
default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203
|
default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203
|
||||||
default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209
|
default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209
|
||||||
default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1 && !BR2_BFIN_FDPIC
|
default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1 && BR2_BINFMT_FLAT
|
||||||
default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1 && BR2_BFIN_FDPIC
|
default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1 && BR2_BINFMT_FDPIC
|
||||||
default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1 && !BR2_BFIN_FDPIC
|
default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1 && BR2_BINFMT_FLAT
|
||||||
default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1 && BR2_BFIN_FDPIC
|
default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1 && BR2_BINFMT_FDPIC
|
||||||
default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 && !BR2_BFIN_FDPIC
|
default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 && BR2_BINFMT_FLAT
|
||||||
default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 && BR2_BFIN_FDPIC
|
default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 && BR2_BINFMT_FDPIC
|
||||||
default $(BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX) \
|
default $(BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX) \
|
||||||
if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
|
if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
|
||||||
|
|
||||||
|
@ -160,6 +160,10 @@ ifneq ($(CC_TARGET_ABI_),)
|
|||||||
TOOLCHAIN_EXTERNAL_CFLAGS += -mabi=$(CC_TARGET_ABI_)
|
TOOLCHAIN_EXTERNAL_CFLAGS += -mabi=$(CC_TARGET_ABI_)
|
||||||
TOOLCHAIN_EXTERNAL_WRAPPER_ARGS += -DBR_ABI='"$(CC_TARGET_ABI_)"'
|
TOOLCHAIN_EXTERNAL_WRAPPER_ARGS += -DBR_ABI='"$(CC_TARGET_ABI_)"'
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(BR2_BINFMT_FLAT),y)
|
||||||
|
TOOLCHAIN_EXTERNAL_CFLAGS += -Wl,-elf2flt
|
||||||
|
TOOLCHAIN_EXTERNAL_WRAPPER_ARGS += -DBR_BINFMT_FLAT
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq ($(BR2_TARGET_OPTIMIZATION),)
|
ifneq ($(BR2_TARGET_OPTIMIZATION),)
|
||||||
TOOLCHAIN_EXTERNAL_CFLAGS += $(call qstrip,$(BR2_TARGET_OPTIMIZATION))
|
TOOLCHAIN_EXTERNAL_CFLAGS += $(call qstrip,$(BR2_TARGET_OPTIMIZATION))
|
||||||
|
@ -47,6 +47,9 @@ static char *predef_args[] = {
|
|||||||
#ifdef BR_64
|
#ifdef BR_64
|
||||||
"-m64",
|
"-m64",
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef BR_BINFMT_FLAT
|
||||||
|
"-Wl,-elf2flt",
|
||||||
|
#endif
|
||||||
#ifdef BR_ADDITIONAL_CFLAGS
|
#ifdef BR_ADDITIONAL_CFLAGS
|
||||||
BR_ADDITIONAL_CFLAGS
|
BR_ADDITIONAL_CFLAGS
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user