12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- config BR2_PACKAGE_LIBUNWIND_MUSL_CONTEXT_REQUIRED
- bool
- default y
- depends on !BR2_ARM_CPU_HAS_ARM
- depends on !BR2_aarch64
- depends on !BR2_aarch64_be
- depends on !BR2_mips
- depends on !BR2_mipsel
- depends on !BR2_mips64
- depends on !BR2_mips64el
- depends on !BR2_riscv
- depends on !BR2_x86_64
- depends on BR2_TOOLCHAIN_USES_MUSL
- # libunwind is only available for a certain subset of the
- # architectures (as visible in the list of architectures supported
- # with the glibc C library below).
- #
- # In addition to this, on some architectures libunwind requires the
- # *context() function from the C library, which are only available on
- # certain architectures in uClibc, and not available at all on
- # musl. But on some other architectures, libunwind works without using
- # the *context() functions, which allows it to be built with musl.
- config BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
- bool
- default y if BR2_TOOLCHAIN_USES_GLIBC && \
- (BR2_ARM_CPU_HAS_ARM || BR2_aarch64 || BR2_mips || BR2_mipsel || \
- BR2_mips64 || BR2_mips64el || BR2_powerpc || BR2_sh || \
- BR2_i386 || BR2_x86_64)
- default y if BR2_TOOLCHAIN_USES_UCLIBC && \
- (BR2_ARM_CPU_HAS_ARM || BR2_mips || BR2_mipsel || \
- BR2_mips64 || BR2_mips64el || BR2_x86_64)
- default y if BR2_TOOLCHAIN_USES_MUSL && \
- (!BR2_PACKAGE_LIBUNWIND_MUSL_CONTEXT_REQUIRED || \
- BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS)
- config BR2_PACKAGE_LIBUNWIND
- bool "libunwind"
- depends on BR2_TOOLCHAIN_HAS_THREADS
- depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11 atomics
- # forcefully links against libgcc_s, only available in dynamic
- # linking configurations
- depends on !BR2_STATIC_LIBS
- select BR2_PACKAGE_LIBUCONTEXT if BR2_TOOLCHAIN_USES_MUSL && \
- BR2_PACKAGE_LIBUNWIND_MUSL_CONTEXT_REQUIRED
- help
- C API to determine the call-chain of a program.
- http://www.nongnu.org/libunwind/index.html
- comment "libunwind needs a toolchain w/ threads, dynamic library, gcc >= 4.9"
- depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
- depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
- !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|