| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libcxx can use either libgcc_s or llvm libunwind for unwinder
functionality, the defaults are platform dependent, therefore with this
patch we make intentional choice based on RUNTIME settings chosen, e.g.
when using GNU runtime we use libgcc and also ensure that it add right
compiler options to build as well, since libcxx build looks C runtime by
calling $($CC --print-libgcc-file-name) to build libc++abi.so unless we
use right -rtlib option it will result in linking wrong library
Enable RTTI as well
do not enable llvm unwinder unless we chose llvm runtime, even that
might not work since libpthread from glibc explicitly dlopens
libgcc_s.so to enable unwinding
https://github.com/bminor/glibc/blob/5f72f9800b250410cad3abfeeb09469ef12b2438/sysdeps/nptl/unwind-forcedunwind.c#L53...L58
Fixes Issue #332
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
py2 is gone from oe-core
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Allow more of the cmake variables coming from the OE environment
through, otherwise the release C flags and CXX flags get reset to
LLVM's default, which greatly extend build times.
Also switch to using cmake.bbclass's do_compile and do_install
commands. There's no need to call ninja directly anymore.
Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Co-authored-by: INAJIMA Daisuke <inajima@soum.co.jp>
|
|
|
|
|
|
|
|
| |
Do not export libunwind to other recipes besides libcxx itself, we use
non-gnu libunwind on linux in general and its not a drop in replacement
as of yet
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
THUMB_TUNE_CCARGS is gone from oe-core
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
This helps in disabling compiler-rt e.g. on risc-v if we need to enable
exceptions then we need to use libgcc_s, since llvm-libunwind is not yet
ported to risc-v
For ppc, enable compiler-rt
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Fix build on armv5
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
setting these flags via CMake cmdline means that LDFLAGS that OE expects
to insert via environment wont be respected anymore, therefore its
better to pass it along during configure, so we get the desired flags
into linker
Fixes Issue #188
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This ensures that clang-runtime elements e.g. llvm-libunwind can be used
with gcc as well
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
--unwindlib=libunwind
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Its easier to provide it as replacement for nongnu libunwind
bundled into libcxx was getting harder when it came to replacement
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Use LLVM_LIBDIR_SUFFIX with the correct value of suffix derived using baselib.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when llvm unwind library is disabled, build was not picking up libgcc
automatically since we still use, compiler-rt for C runtime, therefore
introduce it via special CMAKE_SHARED_LINKER_FLAGS in packageconfig
Bundle static unwind library into libcxx-abi library and bundle
libcxx-abi.a into libc++.a this helps in just specifying lc++ and no
other flags are needed.
Also bundle static libunwind and cxx-abi but not into shared libc++, this would
avoid adding them explicitly on linker cmdline in packages when doing
static linking
Use PREFERRED_PROVIDER_libunwind to determine if unwind packageconfig
should be enabled or not
Pass -fno-exceptions on arm, otherwise it links in unwinding routines
which it expects to link from libgcc_s, we really don't need this when
doing cmake checks so disable exceptions during cmake checks
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
this should help when libcxx is preferred to provide libunwind and help
masking the packages coming from libunwind recipe
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
It really does not build with gcc dont force it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
This helps in building with gcc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Fixes build errors due to missing unwind symbols
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This ensures that llvm libunwind is used always, even for sdks
Move depends above as per recipe styleguides
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without this bitbake will still pull standard libunwind package when
building recipes depending on libunwind. If such recipe also happens
to pull libcxx the build will fail when assembling the sysroot because
both libcxx and libunwind provide libunwind.so.
This problem has been observed when building libstd-rs from meta-rust
layer agains musl libc.
Signed-off-by: Piotr Tworek <tworaz@tworaz.net>
|
|
|
|
|
|
| |
Use llvm libunwind as default for clang toolchain
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This is new way of enabling llvm unwinder as default unwinder
now build shared libunwind which is needed for new option
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
dont package six.py, its provided by python3-six package
default to lp64d ABI and rv64gc ISA.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
This now builds for mips so lets enable it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This may already be specified by another low priority override to point
to gcc but we want to always use clang for compiling these packages
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
- We do not need it with CXX
- adding to compiler flag makes sure that libcxx headers are used even
when C (clang) compiler is used
- Eventually libcxx should provide virtual/${TARGET_PREFIX}compilerlibs
add it in comments
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
standalone build starts to look for c++ headers which then
are fed from libstc++ because libcxx is not built yet, instead
let build use it from in-tree libcxx
enable llvm-ar/llvm-ranlib/llvm-nm to provide ar/ranlib/nm
respectively, this helps with lto enabled builds for libcxx
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
This avoids catch-22
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
-stdlib flag
Since TARGET_CXXFLAGS does not get passed into all packages
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
The only change is update to the year in license files
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an overhaul of clang/llvm project related recipes
* switch to using a flat mono repo for all clang/llvm projects
* Add llvm-project-source recipe which will prepare source tree in
work-shared for all recipes much like kernel and gcc
* build lld as part of clang recipes, its much easier and saves build
time and hopefully nativesdk version will be built now for free
* switch to official git repos at git://github.com/llvm-project
* Adjust all recipes to use shared sources
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
This confuses the libcxx build system and it tries to edit
rpaths in .so files and fails miserably on libcxx.so if it is a linker
script
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
RISC-V support in clang is missing for now
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
It fails to build
libunwind/src/UnwindRegistersSave.S:561: Error: unrecognized opcode: `extern'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Update compiler-rt/llvm/clang/lld licence checksums
Triggerred due to copyright year update to 2018
Add libunwind and libcxxabi license to checksum list too
- Switch to https protocol for fetching from github
- Fix _finite functions on musl
- Package new .so files built with clang
- package libLLVM-${MAJOR_VER}.so as well since llvm-7 generates it
without MINOR_VERSION
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Allow libunwind to be turned off and on using PACKAGECONFIG
Default to ON
Signed-off-by: Michael Davis <michael.davis@essvote.com>
|
|
|
|
|
|
| |
This helps statically linking C++ programs when building with clang
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
This is no longer needed
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Robin Lee <cheeselee@fedoraproject>
|
|
|
|
| |
Signed-off-by: Robin Lee <cheeselee@fedoraproject>
|
|
|
|
|
|
| |
llvm libunwind is still not ported to mips
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
There seems to be some race between libcxx and libcxx-abi resulting in
FAILED: lib/libc++.so.1.0
x86_64-bec-linux-musl-ld: cannot find -lc++abi
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
build llvm libunwind along with libcxx
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
| |
This is preferred way of building libc++ and
it also means we do not need musl specific tweaks
since top level build from llvm already know
musl and make right choices
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|