Introduce the variable BR2_TOOLCHAIN_HAS_UCONTEXT

It is set when the platform exposes the struct ucontext_t.

This avoids duplication of logic inside each package requiring
the use of that type.

Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Patrick Havelange 2019-01-29 10:39:16 +01:00 committed by Peter Korsgaard
parent 2693362a04
commit 001f9a7988
2 changed files with 11 additions and 10 deletions

View File

@ -1,15 +1,6 @@
config BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS
bool
# with glibc/musl, ucontext is available for all supported
# architectures
default y if BR2_TOOLCHAIN_USES_GLIBC
default y if BR2_TOOLCHAIN_USES_MUSL
# with uclibc, ucontext is only available for a subset of the
# supported architectures
default y if BR2_TOOLCHAIN_USES_UCLIBC && \
(BR2_ARM_CPU_HAS_ARM || BR2_i386 || \
BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
BR2_sparc || BR2_x86_64)
default y if BR2_TOOLCHAIN_HAS_UCONTEXT
config BR2_PACKAGE_LIBSIGSEGV
bool "libsigsegv"

View File

@ -15,10 +15,16 @@ config BR2_TOOLCHAIN_USES_GLIBC
select BR2_TOOLCHAIN_HAS_THREADS
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
select BR2_TOOLCHAIN_HAS_THREADS_NPTL
select BR2_TOOLCHAIN_HAS_UCONTEXT
select BR2_TOOLCHAIN_SUPPORTS_PIE
config BR2_TOOLCHAIN_USES_UCLIBC
bool
# ucontext is only available for a subset of the supported
# architectures
select BR2_TOOLCHAIN_HAS_UCONTEXT if BR2_ARM_CPU_HAS_ARM || BR2_i386 \
|| BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el \
|| BR2_sparc || BR2_x86_64
select BR2_TOOLCHAIN_SUPPORTS_PIE if !BR2_m68k && !BR2_microblaze && !BR2_STATIC_LIBS
config BR2_TOOLCHAIN_USES_MUSL
@ -28,6 +34,7 @@ config BR2_TOOLCHAIN_USES_MUSL
select BR2_TOOLCHAIN_HAS_THREADS
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
select BR2_TOOLCHAIN_HAS_THREADS_NPTL
select BR2_TOOLCHAIN_HAS_UCONTEXT
select BR2_TOOLCHAIN_SUPPORTS_PIE if !BR2_STATIC_LIBS
choice
@ -145,6 +152,9 @@ config BR2_TOOLCHAIN_HAS_THREADS_NPTL
config BR2_TOOLCHAIN_HAS_SSP
bool
config BR2_TOOLCHAIN_HAS_UCONTEXT
bool
config BR2_TOOLCHAIN_SUPPORTS_PIE
bool