| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This is new way of building it from 16.x onwards
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This helps in compling shared libraries which may use e.g. static
libc++.a during link
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
This helps statically linking c++ runtime into binaries which use
exceptions functions e.g. std::out_of_range as used in rwmem package
and using -static-libstdc++ compiler flags
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
clang can now build multiarch runtimes like debian's setup, but not all
arches work equally well, e.g. arm32 bit can not handle arm and armhf
case, so lets disable it for now.
Use DCMAKE_BUILD_TYPE=RelWithDebInfo as it is needed to set
DCMAKE_BUILD_TYPE in 15.x
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This ensures that -stdlib=libc++ option works as expected
by adding both -lc++ -c++abi to linker command in sequence
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com>
|
|
|
|
|
|
| |
LLVM_LIBDIR_SUFFIX is already computed fine in clang.inc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
When building libunwind, install new headers which are refactored from
unwind.h in clang 14.0.0 onwards
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cmake 3.22+ is causing install failures e.g.
| -- Install configuration: "Debug"
| -- Installing: /mnt/b/yoe/master/build/tmp/work/armv7at2hf-neon-yoe-linux-gnueabi/libcxx/13.0.1-r0/image/usr/lib/libc++.so.1.0
| -- Installing: /mnt/b/yoe/master/build/tmp/work/armv7at2hf-neon-yoe-linux-gnueabi/libcxx/13.0.1-r0/image/usr/lib/libc++.so.1
| -- Set runtime path of "/mnt/b/yoe/master/build/tmp/work/armv7at2hf-neon-yoe-linux-gnueabi/libcxx/13.0.1-r0/image/usr/lib/libc++.so.1.0" to ""
| -- Installing: /mnt/b/yoe/master/build/tmp/work/armv7at2hf-neon-yoe-linux-gnueabi/libcxx/13.0.1-r0/image/usr/lib/libc++.so
| CMake Error at cmake_install.cmake:88 (file):
| file RPATH_CHANGE could not write new RPATH:
|
|
|
| to the file:
|
| /mnt/b/yoe/master/build/tmp/work/armv7at2hf-neon-yoe-linux-gnueabi/libcxx/13.0.1-r0/image/usr/lib/libc++.so
|
| Call Stack (most recent call first):
| /mnt/b/yoe/master/build/tmp/work/armv7at2hf-neon-yoe-linux-gnueabi/libcxx/13.0.1-r0/build/projects/libcxx/cmake_install.cmake:56 (include)
|
Apply a workaround by building install time rpaths directly during build time
too.
Real fix perhaps will be in cmake somewhere.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
| |
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
| |
This helps during cross-compile as new clang expects this to be set or
else it deduces it and that deduction can go wrong.
See commit 395271ad11b8c233db1a4e0e6a76aa52e93e5aec in clang repo
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
Use libgcc with clang-native to compile it
Fixes #465
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
This helps in ensuring it pose as RPROVIDES when llvm runtime is used
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This ensures it can replace nongnu libunwind
Use it only when selecting RUNTIME = "llvm"
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
ensure that libcxx can be built when RUNTIME = "llvm" as it might need
to pass some cmake compiler tests
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Use compile-rt consistently across when building libc++ and libc++abi
and libunwind
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
This ensures right C runtime is used as desired by user
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|