summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/clang
Commit message (Collapse)AuthorAgeFilesLines
* clang: Fix cmake exports sed variable using incorrect namewarriorMichael Davis2019-12-171-1/+1
| | | | | | Backport of f8b95f259467056ffab1484f7f72178f661a0ee3 Signed-off-by: Michael Davis <michael.davis@essvote.com>
* Support multiarch Yocto environmentHiroshi Hatake2019-12-153-1/+21
| | | | Co-authored-by: INAJIMA Daisuke <inajima@soum.co.jp>
* clang: Fix cmake exports not finding native binaries Issue #230Michael Davis2019-12-062-0/+18
| | | | | Signed-off-by: Michael Davis <michael.davis@essvote.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* llvm: Check for built-in atomic<double> during configureMichael Davis2019-11-212-0/+34
| | | | | | | | | | This helps in deciding on linking libatomic, therefore its important to check for atomic<double> because on x86, clang decides to not use built-in whereas gcc does, so clangd e.g. links ok when using gcc but fails when using clang with gcc-runtime on x86 Backport of ba6e545b1d0ee93b4ef698fae2d5a018a062b46a Signed-off-by: Michael Davis <michael.davis@essvote.com>
* clang: Use libgcc unwind supportKhem Raj2019-09-201-7/+2
| | | | | | | This helps chromium compile and run, using llvm libunwind doesnt really work here Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to latest 8.x releaseKhem Raj2019-09-201-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Pass LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN to stage2 as wellKhem Raj2019-08-161-0/+1
| | | | | | | | | | | Fixes CMake Error at cmake/modules/CheckCompilerVersion.cmake:105 (message): libstdc++ version should be at least 5.1 because LLVM will soon use new C++ features which your toolchain version doesn't support. You can temporarily opt out using LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN, but very soon your toolchain won't be supported. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* use native-clang compiler when building nativesdk-clangDaniel Dittmann2019-08-041-0/+2
| | | | | | | | | Some cmake based steps when building clang uses BUILD_CC, BUILD_CXX variables, which points to gcc even if TOOLCHAIN_class-nativesdk = "clang". This patch sets it to clang if TOOLCHAIN_class-nativesdk = "clang" is set. Signed-off-by: Daniel Dittmann <daniel.dittmann@rohde-schwarz.com>
* clang: Move libclang into its own dedicated package.yoe/mutPiotr Tworek2019-07-261-1/+5
| | | | | | | | | This library has a few potential consimers (ex, qttools) which don't need whole clang install. Distributions like debian already package lbiclang separately as libclang1. This makes even more sense for embedded systems. Do the same for OE/Yocto. Signed-off-by: Piotr Tworek <tworaz@tworaz.net>
* clang: Update to latest on 8.x branchKhem Raj2019-07-221-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to latest on 8.x releaseKhem Raj2019-07-111-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to latest on 8.0 releaseKhem Raj2019-06-241-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* lldb: ignore format-security warningsAnuj Mittal2019-06-181-0/+2
| | | | | | | | | | | | | | | | lldb doesn't build when -Wformat-security -Werror=format-security is added/enabled and results in errors with gcc9: | BUILD/build/tmp/work-shared/llvm-project-source-8.0.1-r0/git/lldb/source/Core/Module.cpp: In member function 'size_t lldb_private::Module::FindTypes_Impl(const lldb_private::ConstString&, const lldb_private::CompilerDeclContext*, bool, size_t, llvm::DenseSet<lldb_private::SymbolFile*>&, lldb_private::TypeMap&)': | BUILD/build/tmp/work-shared/llvm-project-source-8.0.1-r0/git/lldb/source/Core/Module.cpp:951:52: error: format not a string literal and no format arguments [-Werror=format-security] | 951 | Timer scoped_timer(func_cat, LLVM_PRETTY_FUNCTION); | | ^ | BUILD/build/tmp/work-shared/llvm-project-source-8.0.1-r0/git/lldb/source/Core/Module.cpp: In member function 'virtual lldb_private::SymbolVendor* lldb_private::Module::GetSymbolVendor(bool, lldb_private::Stream*)': | BUILD/build/tmp/work-shared/llvm-project-source-8.0.1-r0/git/lldb/source/Core/Module.cpp:1052:58: error: format not a string literal and no format arguments [-Werror=format-security] | 1052 | Timer scoped_timer(func_cat, LLVM_PRETTY_FUNCTION); | | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
* libcxx: Enable libunwind on mipsKhem Raj2019-05-261-1/+0
| | | | | | This now builds for mips so lets enable it Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to latest on 8.xKhem Raj2019-05-261-1/+1
| | | | | | | | Changes https://github.com/llvm/llvm-project/compare/9124fda0adfec205856a1ecca76d2cead11a0e2c...11c3a5c0f988cc3f412daf13ef8e47d813cc77f1 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: On x86_64 Modify ldso libdir only for target/cross recipesKhem Raj2019-05-191-11/+18
| | | | | | | | This should ensure that builds without uninative work ok Fixes Issue #106 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to latest on 8.0 releaseKhem Raj2019-05-191-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: upgrade to latest on 8.x releaseKhem Raj2019-05-101-2/+2
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Add hf to target tuple if hard float calling convention is usedKhem Raj2019-04-091-1/+4
| | | | | | | | This ensures that right default target is used and one does not need to specify it manually using -target option or -mfloat-abi when using on target Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: support old toolchainsAnuj Mittal2019-04-041-0/+1
| | | | | | | Allows building llvm/clang on Centos7 (gcc4.8) which still is one of the suported distros in YP. Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
* clang: Add compiler-rt and libcxx-dev to runtime depsKhem Raj2019-04-031-1/+2
| | | | | | | When installing clang to target its important to get these dependencies along with other llvm runtime, so clang can work out of box Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to latest on 8.x releaseKhem Raj2019-03-151-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* update clang to latest 8.x branchKhem Raj2019-03-121-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcxx, compiler-rt: Use forcevariable to specify TOOLCHAIN overrideKhem Raj2019-03-122-2/+3
| | | | | | | 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>
* openmp: Disable for risc-vKhem Raj2019-03-121-0/+3
| | | | | | | | | Not yet supprorted LIBOMP: libomp_check_variable(): LIBOMP_ARCH = UnknownArchitecture is unknown Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to 8.0-rc4Khem Raj2019-03-121-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to 8.0-rc3Khem Raj2019-02-271-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* compiler-rt,libcxx: Add --stdlib=libc++ to compiler flagsKhem Raj2019-02-232-7/+8
| | | | | | | | | | - 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>
* clang: Update to latest 8.x releaseKhem Raj2019-02-231-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to latest on 8.x branchKhem Raj2019-02-211-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Implement -fmacro-prefix-mapKhem Raj2019-02-153-0/+564
| | | | | | | OE-core now uses it so, we have to take the patch from review system, until it is in master Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to latest 8.xKhem Raj2019-02-151-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* compiler-rt: Define AR, NM and RANLIB to point to llvm wrappersKhem Raj2019-02-141-0/+3
| | | | | | helps with LTO enabled cross builds Signed-off-by: Khem Raj <raj.khem@gmail.com>
* compiler-rt: Define _LIBCPP_HAS_MUSL_LIBC when building for muslKhem Raj2019-02-131-2/+3
| | | | | | | | | | libcxx headers are used during compiler-rt build and libcxx needs to know the libc type in order to include correct wrappers for locale headers Remove duplicated -DCOMPILER_RT_BUILD_XRAY=OFF Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to latest 8.x branchKhem Raj2019-02-1319-29/+30
| | | | | | Forward port ppc/musl patch Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Use gold linker for nativersdkKhem Raj2019-02-111-12/+12
| | | | | | | | | | | | | | nativesdk packages are special in OE, where linker pads the dynamic section with additional bits so that can be patched to a relocatable location duting installing SDK, lld will need such a patch if it has to link the nativesdk apps, until then we use gold Add more fine grained packageconfigs for libpfm, ncurses, and libedit Enable clang as toolchain to build nativesdk version of clang with gold linker Signed-off-by: Khem Raj <raj.khem@gmail.com>
* cross,sdk,cross-canadian: Create symlinks for llvm-ar llvm-ranlib llvm-nmKhem Raj2019-02-113-33/+19
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nativesdk-clang-glue: Symlink /lib dir for libgcc_s and friendsKhem Raj2019-02-111-1/+3
| | | | | | Without this -fuse-ld=lld fails to find libgcc_s Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Fix nativesdk builds to use clang-nativeKhem Raj2019-02-115-13/+43
| | | | | | | | | | - User lld for linking nativesdk-clang - Enable LTO to build nativesdk-clang - Use -static-libgcc when using gold/lld for nativesdk clang build - Use llvm wrappers for ar ranlib and nm to help LTO - Package and create cross versions of lld Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang-nativesdk: Do not default to clang-runtimeKhem Raj2019-02-091-1/+1
| | | | | | | | | | | This make it use same runtime as the cross compiler default, which is more or less what is going to be case, if one wants to use clang runtime then it should be enabled across all clang variants (native/nativesdk/cross) Fixes Issue #66 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Enable lld for linker during stage2 of clang-native buildKhem Raj2019-02-091-0/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Enable 2 stage bootstrap for clang-nativeKhem Raj2019-02-091-5/+23
| | | | | | This will help in using clang Thin-LTO to compile clang itself Signed-off-by: Khem Raj <raj.khem@gmail.com>
* compiler-rt: Disable standalone buildKhem Raj2019-02-092-5/+11
| | | | | | | | | | | 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>
* clang: Update to latest 8.xKhem Raj2019-02-091-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Enable LTO and lld based on distro knobsKhem Raj2019-02-091-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | Add to local.conf or distro config the following to enable lto flavors and lld linker DISTRO_FEATURES += "thin-lto" DISTRO_FEATURES += "full-lto" DISTRO_FEATURES += "lld" Add lto.bbclass To enable LTO is currently per recipe, or globally to enable globally add following to global config meta-data e.g. local.conf INHRIT += "lto" other-wise enable LTO per recipe using inherit lto to recipe via bbappend or in main recipe Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Compiler native and clang for target with Thin-LTO enabledKhem Raj2019-02-071-3/+10
| | | | | | Should speed up compiler speed Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Refresh patches and use static libunwind.a during default linkKhem Raj2019-02-0719-63/+63
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcxx: Make libunwind as static libraryKhem Raj2019-02-071-18/+14
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to 8.0.0 RC2Khem Raj2019-02-071-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to 8.x/rc1Khem Raj2019-02-031-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>