![Thomas Petazzoni](/assets/img/avatar_default.png)
While musl and glibc provide the ucontext structure definition on all architectures they support, it is not the case of uClibc. We have been excluding more and more architectures over time, but this isn't really nice as we continuously need to add more. Latest example: the fact that ucontext on ARM is only available on ARM platforms that support the ARM instruction set (i.e not on the Thumb-2 only Cortex-M platforms). Therefore, we introduce a BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS variable, which: - is set to 'y' for musl and glibc - is set to 'y' for uClibc for the only architectures that are known to provide ucontext (those are the ones that select ARCH_HAS_UCONTEXT in uClibc. Note that we remove the comment, as it would become a way too complicated comment, and we usually don't add comment for such complicated situations (see libunwind for a similar example). Fixes: http://autobuild.buildroot.net/results/b1e40b3ec64cd98b535d83e89e5780c46680e095/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
21 lines
667 B
Plaintext
21 lines
667 B
Plaintext
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)
|
|
|
|
config BR2_PACKAGE_LIBSIGSEGV
|
|
bool "libsigsegv"
|
|
depends on BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS
|
|
help
|
|
Library for handling page faults in user mode.
|
|
|
|
http://www.gnu.org/software/libsigsegv/
|