From b58ce19a372a1979a13634be840a156b90202c4e Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Jul 2020 10:30:23 -0700 Subject: drone: Switch triggers to use dunfell branch Signed-off-by: Khem Raj --- .drone.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.drone.yml b/.drone.yml index 4f0eb70..37f0010 100644 --- a/.drone.yml +++ b/.drone.yml @@ -11,7 +11,7 @@ clone: trigger: branch: - - master + - dunfell event: - push - pull_request @@ -21,7 +21,7 @@ steps: commands: - git clone --recurse-submodules -j8 -b $DRONE_SOURCE_BRANCH git://github.com/YoeDistro/yoe-distro.git yoe - cd yoe - - git checkout master + - git checkout dunfell - git pull - git submodule update --recursive --init - rm -rf sources/meta-clang @@ -61,7 +61,7 @@ clone: trigger: branch: - - master + - dunfell event: - push - pull_request -- cgit v1.2.3-54-g00ecf From 2afc0229b5a4414c455511d02f9fc9ce0bb08a93 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 1 Aug 2020 22:58:41 -0700 Subject: libcxx: Fix linking based upon chosen compiler runtime 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 --- recipes-devtools/clang/libcxx_git.bb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/recipes-devtools/clang/libcxx_git.bb b/recipes-devtools/clang/libcxx_git.bb index 5bc864c..789da5b 100644 --- a/recipes-devtools/clang/libcxx_git.bb +++ b/recipes-devtools/clang/libcxx_git.bb @@ -10,7 +10,7 @@ require common-source.inc inherit cmake python3native -PACKAGECONFIG ??= "compiler-rt unwind exceptions" +PACKAGECONFIG ??= "compiler-rt exceptions ${@bb.utils.contains("RUNTIME", "llvm", "unwind", "", d)}" PACKAGECONFIG_riscv32 = "exceptions" PACKAGECONFIG_riscv64 = "exceptions" PACKAGECONFIG_append_armv5 = " no-atomics" @@ -18,12 +18,14 @@ PACKAGECONFIG_append_armv5 = " no-atomics" PACKAGECONFIG[unwind] = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY=ON -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=ON,-DLIBCXXABI_USE_LLVM_UNWINDER=OFF,," PACKAGECONFIG[exceptions] = "-DLIBCXXABI_ENABLE_EXCEPTIONS=ON -DDLIBCXX_ENABLE_EXCEPTIONS=ON,-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF -DLIBCXX_ENABLE_EXCEPTIONS=OFF -DCMAKE_REQUIRED_FLAGS='-fno-exceptions'," PACKAGECONFIG[no-atomics] = "-D_LIBCXXABI_HAS_ATOMIC_BUILTINS=OFF -DCMAKE_SHARED_LINKER_FLAGS='-latomic',," -PACKAGECONFIG[compiler-rt] = "-DLIBCXXABI_USE_COMPILER_RT=ON -DLIBCXX_USE_COMPILER_RT=ON,-DLIBCXXABI_USE_COMPILER_RT=OFF -DLIBCXX_USE_COMPILER_RT=OFF,compiler-rt" +PACKAGECONFIG[compiler-rt] = ",,compiler-rt" DEPENDS += "ninja-native" -DEPENDS_append_class-target = " compiler-rt clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc virtual/${TARGET_PREFIX}compilerlibs" +DEPENDS_append_class-target = " clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc virtual/${TARGET_PREFIX}compilerlibs" LIBCPLUSPLUS = "" +COMPILER_RT ?= "-rtlib=compiler-rt ${UNWINDLIB}" +UNWINDLIB ?= "${@bb.utils.contains("RUNTIME", "gnu", "--unwindlib=libgcc", "", d)}" INHIBIT_DEFAULT_DEPS = "1" @@ -40,16 +42,15 @@ OECMAKE_SOURCEPATH = "${S}/llvm" EXTRA_OECMAKE += "\ -DCMAKE_CROSSCOMPILING=ON \ -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ + -DLLVM_ENABLE_RTTI=ON \ -DLIBUNWIND_ENABLE_SHARED=OFF \ -DLIBUNWIND_ENABLE_THREADS=OFF \ -DLIBUNWIND_WEAK_PTHREAD_LIB=ON \ -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON \ -DLIBCXXABI_INCLUDE_TESTS=OFF \ -DLIBCXXABI_ENABLE_SHARED=ON \ - -DLIBCXXABI_USE_COMPILER_RT=ON \ -DLIBCXXABI_LIBCXX_INCLUDES=${S}/libcxx/include \ -DLIBCXX_CXX_ABI=libcxxabi \ - -DLIBCXX_USE_COMPILER_RT=ON \ -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/libcxxabi/include \ -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib${LLVM_LIBDIR_SUFFIX} \ -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \ -- cgit v1.2.3-54-g00ecf From 256ca0a85ee1a216ef1ecad5981c68e835efebeb Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 1 Aug 2020 23:05:18 -0700 Subject: clang: Add packageconfig to select default unwinder a choice is needed to be made for selecting unwinder library defaults ( --unwindlib ), by default we choose libgcc unwinder when packageconfig is disabled and only use llvm unwinder when this option is enabled Fixes Issue #332 Signed-off-by: Khem Raj --- recipes-devtools/clang/clang_git.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb index 07fb3c3..779c4ae 100644 --- a/recipes-devtools/clang/clang_git.bb +++ b/recipes-devtools/clang/clang_git.bb @@ -59,6 +59,7 @@ PACKAGECONFIG_class-nativesdk = "rtti eh libedit ${@bb.utils.filter('DISTRO_FEAT PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,libcxx,compiler-rt" PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" +PACKAGECONFIG[unwindlib] = "-DCLANG_DEFAULT_UNWINDLIB=libunwind,-DCLANG_DEFAULT_UNWINDLIB=libgcc,libcxx" PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," PACKAGECONFIG[full-lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," PACKAGECONFIG[shared-libs] = "-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON,,," -- cgit v1.2.3-54-g00ecf From 88685736c4a2f27bc72e398c66d5acc4e5628ffa Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 2 Aug 2020 11:13:09 -0700 Subject: drone: Fix branch name to detach from yoe branch Currently it expect the common branch names like master and dunfell match between meta-clang and yoe which may not be case Signed-off-by: Khem Raj --- .drone.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index 37f0010..753dacb 100644 --- a/.drone.yml +++ b/.drone.yml @@ -19,9 +19,9 @@ trigger: steps: - name: build commands: - - git clone --recurse-submodules -j8 -b $DRONE_SOURCE_BRANCH git://github.com/YoeDistro/yoe-distro.git yoe + - git clone --recurse-submodules -j8 git://github.com/YoeDistro/yoe-distro.git yoe - cd yoe - - git checkout dunfell + - git checkout -b test origin/dunfell - git pull - git submodule update --recursive --init - rm -rf sources/meta-clang @@ -39,6 +39,10 @@ steps: - echo SSTATE_DIR = \"$SSTATE_CACHE_DIR\" >> conf/local.conf - echo IMAGE_CLASSES += \"testimage testsdk\" >> conf/local.conf - echo INHERIT += \"report-error rm_work blacklist\" >> conf/local.conf + - echo ERR_REPORT_SERVER = \"errors.yoctoproject.org\" >> conf/local.conf + - echo ERR_REPORT_PORT = \"80\" >> conf/local.conf + - echo ERR_REPORT_USERNAME = \"Drone Autobuilder\" >> conf/local.conf + - echo ERR_REPORT_EMAIL = \"info@yoedistro.org\" >> conf/local.conf - echo TOOLCHAIN = \"clang\" >> conf/local.conf - echo CLANGSDK = \"1\" >> conf/local.conf - echo IMAGE_INSTALL_append = \" clang \" >> conf/local.conf -- cgit v1.2.3-54-g00ecf From f76e171c27639eb329214b8eb278de595f86933e Mon Sep 17 00:00:00 2001 From: Naveen Saini Date: Mon, 19 Oct 2020 14:19:53 +0800 Subject: clang: Enable C functions for cl_khr_mipmap_image_write extension This patch is already merged in llvm-11. Signed-off-by: Naveen Saini --- ...ix-support-for-cl_khr_mipmap_image_writes.patch | 114 +++++++++++++++++++++ recipes-devtools/clang/common.inc | 1 + 2 files changed, 115 insertions(+) create mode 100644 recipes-devtools/clang/clang/0026-OpenCL-Fix-support-for-cl_khr_mipmap_image_writes.patch diff --git a/recipes-devtools/clang/clang/0026-OpenCL-Fix-support-for-cl_khr_mipmap_image_writes.patch b/recipes-devtools/clang/clang/0026-OpenCL-Fix-support-for-cl_khr_mipmap_image_writes.patch new file mode 100644 index 0000000..a8798fb --- /dev/null +++ b/recipes-devtools/clang/clang/0026-OpenCL-Fix-support-for-cl_khr_mipmap_image_writes.patch @@ -0,0 +1,114 @@ +From 4770490fa38a03624376b3c3973705a4bf8cc193 Mon Sep 17 00:00:00 2001 +From: Alexey Sotkin +Date: Mon, 27 Jan 2020 12:25:03 +0300 +Subject: [PATCH] [OpenCL] Fix support for cl_khr_mipmap_image_writes + +Text of the extension is available here: +https://github.com/KhronosGroup/OpenCL-Docs/blob/master/ext/cl_khr_mipmap_image.asciidoc + +Patch by Ilya Mashkov + +Differential Revision: https://reviews.llvm.org/D71460 + +Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/f780e15caf1bed0a9fbc87fde70bd5ab3d80a439] + +Signed-off-by: Naveen Saini +--- + clang/include/clang/Basic/OpenCLExtensions.def | 1 + + clang/lib/Headers/opencl-c.h | 18 ++++++++++-------- + clang/test/SemaOpenCL/extension-version.cl | 12 ++++++++++++ + 3 files changed, 23 insertions(+), 8 deletions(-) + +diff --git a/clang/include/clang/Basic/OpenCLExtensions.def b/clang/include/clang/Basic/OpenCLExtensions.def +index 5536a6e8e4d..51748158431 100644 +--- a/clang/include/clang/Basic/OpenCLExtensions.def ++++ b/clang/include/clang/Basic/OpenCLExtensions.def +@@ -70,6 +70,7 @@ OPENCLEXT_INTERNAL(cl_khr_spir, 120, ~0U) + OPENCLEXT_INTERNAL(cl_khr_egl_event, 200, ~0U) + OPENCLEXT_INTERNAL(cl_khr_egl_image, 200, ~0U) + OPENCLEXT_INTERNAL(cl_khr_mipmap_image, 200, ~0U) ++OPENCLEXT_INTERNAL(cl_khr_mipmap_image_writes, 200, ~0U) + OPENCLEXT_INTERNAL(cl_khr_srgb_image_writes, 200, ~0U) + OPENCLEXT_INTERNAL(cl_khr_subgroups, 200, ~0U) + OPENCLEXT_INTERNAL(cl_khr_terminate_context, 200, ~0U) +diff --git a/clang/lib/Headers/opencl-c.h b/clang/lib/Headers/opencl-c.h +index 06c5ab6a72f..3210f93cc85 100644 +--- a/clang/lib/Headers/opencl-c.h ++++ b/clang/lib/Headers/opencl-c.h +@@ -14682,7 +14682,7 @@ void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, flo + + // OpenCL Extension v2.0 s9.18 - Mipmaps + #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) +-#ifdef cl_khr_mipmap_image ++#if defined(cl_khr_mipmap_image_writes) + void __ovld write_imagef(write_only image1d_t image, int coord, int lod, float4 color); + void __ovld write_imagei(write_only image1d_t image, int coord, int lod, int4 color); + void __ovld write_imageui(write_only image1d_t image, int coord, int lod, uint4 color); +@@ -14699,15 +14699,16 @@ void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, int + void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int lod, int4 color); + void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, int lod, uint4 color); + +-void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, int lod, float color); +-void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, int lod, float color); ++void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, int lod, float depth); ++void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, int lod, float depth); + + #ifdef cl_khr_3d_image_writes + void __ovld write_imagef(write_only image3d_t image, int4 coord, int lod, float4 color); + void __ovld write_imagei(write_only image3d_t image, int4 coord, int lod, int4 color); + void __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 color); +-#endif +-#endif //cl_khr_mipmap_image ++#endif //cl_khr_3d_image_writes ++ ++#endif //defined(cl_khr_mipmap_image_writes) + #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) + + // Image write functions for half4 type +@@ -14756,7 +14757,7 @@ void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, flo + #endif //cl_khr_depth_images + + #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) +-#ifdef cl_khr_mipmap_image ++#if defined(cl_khr_mipmap_image_writes) + void __ovld write_imagef(read_write image1d_t image, int coord, int lod, float4 color); + void __ovld write_imagei(read_write image1d_t image, int coord, int lod, int4 color); + void __ovld write_imageui(read_write image1d_t image, int coord, int lod, uint4 color); +@@ -14780,8 +14781,9 @@ void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, int + void __ovld write_imagef(read_write image3d_t image, int4 coord, int lod, float4 color); + void __ovld write_imagei(read_write image3d_t image, int4 coord, int lod, int4 color); + void __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 color); +-#endif +-#endif //cl_khr_mipmap_image ++#endif //cl_khr_3d_image_writes ++ ++#endif //cl_khr_mipmap_image_writes + #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) + + // Image write functions for half4 type +diff --git a/clang/test/SemaOpenCL/extension-version.cl b/clang/test/SemaOpenCL/extension-version.cl +index 19d08849535..0e6bbb7d3bc 100644 +--- a/clang/test/SemaOpenCL/extension-version.cl ++++ b/clang/test/SemaOpenCL/extension-version.cl +@@ -242,6 +242,18 @@ + #endif + #pragma OPENCL EXTENSION cl_khr_mipmap_image : enable + ++#if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200) ++#ifndef cl_khr_mipmap_image_writes ++#error "Missing cl_khr_mipmap_image_writes define" ++#endif ++#else ++#ifdef cl_khr_mipmap_image_writes ++#error "Incorrect cl_khr_mipmap_image_writes define" ++#endif ++// expected-warning@+2{{unsupported OpenCL extension 'cl_khr_mipmap_image_writes' - ignoring}} ++#endif ++#pragma OPENCL EXTENSION cl_khr_mipmap_image_writes : enable ++ + #if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200) + #ifndef cl_khr_srgb_image_writes + #error "Missing cl_khr_srgb_image_writes define" +-- +2.17.1 + diff --git a/recipes-devtools/clang/common.inc b/recipes-devtools/clang/common.inc index 6b805a6..3ecbe78 100644 --- a/recipes-devtools/clang/common.inc +++ b/recipes-devtools/clang/common.inc @@ -33,6 +33,7 @@ SRC_URI = "\ file://0023-clang-Fix-resource-dir-location-for-cross-toolchains.patch \ file://0024-fix-path-to-libffi.patch \ file://0025-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch \ + file://0026-OpenCL-Fix-support-for-cl_khr_mipmap_image_writes.patch \ " # Fallback to no-PIE if not set -- cgit v1.2.3-54-g00ecf From eba7c48f131d8fd5a1d840949d8ead2ecfe65edc Mon Sep 17 00:00:00 2001 From: MQueiros Date: Tue, 20 Oct 2020 16:01:37 +0100 Subject: Remove compiler arguments from CLANG_TIDY_EXE cclang-tidy doesn't process compilation flags like "-mlittle-endian" and "sysroot". The current export tries to use those flags, which makes clang-tidy fail like in the following example: > $ aarch64-poky-linux-clang-tidy fibonacci.cpp -mlittle-endian --sysroot=/opt/mgu22/sysroots/aarch64-poky-linux > LLVM ERROR: CommonOptionsParser: failed to parse command-line arguments. [CommonOptionsParser]: aarch64-poky-linux-clang-tidy: Unknown command line argument '-mlittle-endian'. Try: 'aarch64-poky-linux-clan$ > aarch64-poky-linux-clang-tidy: Did you mean '--list-checks'? > aarch64-poky-linux-clang-tidy: Unknown command line argument '--sysroot=/opt/mgu22/sysroots/aarch64-poky-linux'. Try: 'aarch64-poky-linux-clang-tidy --help' > aarch64-poky-linux-clang-tidy: Did you mean '--color=/opt/mgu22/sysroots/aarch64-poky-linux'? This change removes those compiler arguments: > $ aarch64-poky-linux-clang-tidy fibonacci.cpp > Error while trying to load a compilation database: > Could not auto-detect compilation database for file "fibonacci.cpp" > No compilation database found in /home/mqueiros/workspace/minimal-working-example/fibonacci or any parent directory > fixed-compilation-database: Error while opening fixed database: No such file or directory > json-compilation-database: Error while opening JSON database: No such file or directory > Running without flags. Signed-off-by: Mauro Queiros Backported from master to dunfell branch (cherry picked from commit 9d5fd8357d2f00a273f3d80fb37bb07cc537a155). Signed-off-by: Daniel Dittmann --- recipes-core/meta/meta-environment.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-core/meta/meta-environment.bbappend b/recipes-core/meta/meta-environment.bbappend index 725a431..d59bfd6 100644 --- a/recipes-core/meta/meta-environment.bbappend +++ b/recipes-core/meta/meta-environment.bbappend @@ -14,6 +14,6 @@ create_sdk_files_append() { echo 'export CLANGCC="${TARGET_PREFIX}clang ${TARGET_CLANGCC_ARCH} --sysroot=$SDKTARGETSYSROOT"' >> $script echo 'export CLANGCXX="${TARGET_PREFIX}clang++ ${TARGET_CLANGCC_ARCH} --sysroot=$SDKTARGETSYSROOT"' >> $script echo 'export CLANGCPP="${TARGET_PREFIX}clang -E ${TARGET_CLANGCC_ARCH} --sysroot=$SDKTARGETSYSROOT"' >> $script - echo 'export CLANG_TIDY_EXE="${TARGET_PREFIX}clang-tidy ${TARGET_CLANGCC_ARCH} --sysroot=$SDKTARGETSYSROOT"' >> $script + echo 'export CLANG_TIDY_EXE="${TARGET_PREFIX}clang-tidy"' >> $script fi } -- cgit v1.2.3-54-g00ecf From e63d6f9abba5348e2183089d6ef5ea384d7ae8d8 Mon Sep 17 00:00:00 2001 From: Naveen Saini Date: Tue, 3 Nov 2020 13:36:13 +0800 Subject: llvm: Do not crash on weird `bitcast <1 x i8*> to i8*` This patch is already merged in llvm-11. Ref: https://github.com/llvm/llvm-project/commit/381054a989ebd0b585fee46f2a01a7c5de10acf7 Signed-off-by: Naveen Saini --- ...-visitBitCast-do-not-crash-on-weird-bitca.patch | 51 ++++++++++++++++++++++ recipes-devtools/clang/common.inc | 1 + 2 files changed, 52 insertions(+) create mode 100644 recipes-devtools/clang/clang/0027-InstCombine-visitBitCast-do-not-crash-on-weird-bitca.patch diff --git a/recipes-devtools/clang/clang/0027-InstCombine-visitBitCast-do-not-crash-on-weird-bitca.patch b/recipes-devtools/clang/clang/0027-InstCombine-visitBitCast-do-not-crash-on-weird-bitca.patch new file mode 100644 index 0000000..77ca35b --- /dev/null +++ b/recipes-devtools/clang/clang/0027-InstCombine-visitBitCast-do-not-crash-on-weird-bitca.patch @@ -0,0 +1,51 @@ +From 381054a989ebd0b585fee46f2a01a7c5de10acf7 Mon Sep 17 00:00:00 2001 +From: Roman Lebedev +Date: Wed, 24 Jun 2020 21:12:09 +0300 +Subject: [PATCH] [InstCombine] visitBitCast(): do not crash on weird `bitcast + <1 x i8*> to i8*` + +Even if we know that RHS of a bitcast is a pointer, +we can't assume LHS is, because it might be +a single-element vector of pointer. + +Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/381054a989ebd0b585fee46f2a01a7c5de10acf7] + +Signed-off-by: Naveen Saini + +--- + lib/Transforms/InstCombine/InstCombineCasts.cpp | 3 ++- + test/Transforms/InstCombine/bitcast.ll | 6 ++++++ + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/lib/Transforms/InstCombine/InstCombineCasts.cpp b/lib/Transforms/InstCombine/InstCombineCasts.cpp +index 3750f31e3cf..a8c87ea3558 100644 +--- a/lib/Transforms/InstCombine/InstCombineCasts.cpp ++++ b/lib/Transforms/InstCombine/InstCombineCasts.cpp +@@ -2471,8 +2471,9 @@ Instruction *InstCombiner::visitBitCast(BitCastInst &CI) { + if (DestTy == Src->getType()) + return replaceInstUsesWith(CI, Src); + +- if (PointerType *DstPTy = dyn_cast(DestTy)) { ++ if (isa(SrcTy) && isa(DestTy)) { + PointerType *SrcPTy = cast(SrcTy); ++ PointerType *DstPTy = cast(DestTy); + Type *DstElTy = DstPTy->getElementType(); + Type *SrcElTy = SrcPTy->getElementType(); + +diff --git a/test/Transforms/InstCombine/bitcast.ll b/test/Transforms/InstCombine/bitcast.ll +index 0f0cbdb364a..c4ee52f27a8 100644 +--- a/test/Transforms/InstCombine/bitcast.ll ++++ b/test/Transforms/InstCombine/bitcast.ll +@@ -561,3 +561,9 @@ define void @constant_fold_vector_to_half() { + store volatile half bitcast (<4 x i4> to half), half* undef + ret void + } ++ ++; Ensure that we do not crash when looking at such a weird bitcast. ++define i8* @bitcast_from_single_element_pointer_vector_to_pointer(<1 x i8*> %ptrvec) { ++ %ptr = bitcast <1 x i8*> %ptrvec to i8* ++ ret i8* %ptr ++} +-- +2.17.1 + diff --git a/recipes-devtools/clang/common.inc b/recipes-devtools/clang/common.inc index 3ecbe78..d257f4b 100644 --- a/recipes-devtools/clang/common.inc +++ b/recipes-devtools/clang/common.inc @@ -34,6 +34,7 @@ SRC_URI = "\ file://0024-fix-path-to-libffi.patch \ file://0025-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch \ file://0026-OpenCL-Fix-support-for-cl_khr_mipmap_image_writes.patch \ + file://0027-InstCombine-visitBitCast-do-not-crash-on-weird-bitca.patch;patchdir=llvm \ " # Fallback to no-PIE if not set -- cgit v1.2.3-54-g00ecf From a8b94b0a778da4a4b9547401c71a908abec4e803 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 13 Aug 2021 08:51:40 -0700 Subject: chromium,gn-native: Remove dependency on native libc++ native versions of libcxx and compiler-rt are only available in honister and newer Signed-off-by: Khem Raj --- conf/layer.conf | 4 ++-- .../recipes-browser/chromium-ozone-wayland_%.bbappend | 5 ----- .../browser-layer/recipes-browser/chromium-x11_%.bbappend | 5 ----- .../recipes-browser/chromium-ozone-wayland_%.bbappend | 10 ++++++++++ .../recipes-browser/chromium-x11_%.bbappend | 10 ++++++++++ .../recipes-browser/gn-native_%.bbappend | 6 ++++++ 6 files changed, 28 insertions(+), 12 deletions(-) delete mode 100644 dynamic-layers/browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend delete mode 100644 dynamic-layers/browser-layer/recipes-browser/chromium-x11_%.bbappend create mode 100644 dynamic-layers/chromium-browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend create mode 100644 dynamic-layers/chromium-browser-layer/recipes-browser/chromium-x11_%.bbappend create mode 100644 dynamic-layers/chromium-browser-layer/recipes-browser/gn-native_%.bbappend diff --git a/conf/layer.conf b/conf/layer.conf index c0a422f..fdea56c 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -11,8 +11,8 @@ LAYERSERIES_COMPAT_clang-layer = "zeus dunfell" LAYERDEPENDS_clang-layer = "core" BBFILES_DYNAMIC += " \ - browser-layer:${LAYERDIR}/dynamic-layers/browser-layer/*/*.bb \ - browser-layer:${LAYERDIR}/dynamic-layers/browser-layer/*/*.bbappend \ + chromium-browser-layer:${LAYERDIR}/dynamic-layers/chromium-browser-layer/*/*.bb \ + chromium-browser-layer:${LAYERDIR}/dynamic-layers/chromium-browser-layer/*/*.bbappend \ openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \ openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \ networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bb \ diff --git a/dynamic-layers/browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend b/dynamic-layers/browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend deleted file mode 100644 index 1805554..0000000 --- a/dynamic-layers/browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend +++ /dev/null @@ -1,5 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -GN_ARGS += "use_lld=true use_gold=false" - -UNWINDLIB_toolchain-clang = "--unwindlib=libgcc" diff --git a/dynamic-layers/browser-layer/recipes-browser/chromium-x11_%.bbappend b/dynamic-layers/browser-layer/recipes-browser/chromium-x11_%.bbappend deleted file mode 100644 index 1805554..0000000 --- a/dynamic-layers/browser-layer/recipes-browser/chromium-x11_%.bbappend +++ /dev/null @@ -1,5 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -GN_ARGS += "use_lld=true use_gold=false" - -UNWINDLIB_toolchain-clang = "--unwindlib=libgcc" diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend new file mode 100644 index 0000000..e6c0d5c --- /dev/null +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend @@ -0,0 +1,10 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +GN_ARGS += "use_lld=true use_gold=false" + +UNWINDLIB_toolchain-clang = "--unwindlib=libgcc" + +DEPEND_remove_runtime-llvm = "compiler-rt-native libcxx-native" + +BUILD_CPPFLAGS_remove_rumtime-llvm = "-isysroot=${STAGING_DIR_NATIVE} -stdlib=libc++" +BUILD_LDFLAGS_remove_runtime-llvm = "-rtlib=libgcc -unwindlib=libgcc -stdlib=libc++ -lc++abi -rpath ${STAGING_LIBDIR_NATIVE}" diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-x11_%.bbappend b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-x11_%.bbappend new file mode 100644 index 0000000..e6c0d5c --- /dev/null +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-x11_%.bbappend @@ -0,0 +1,10 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +GN_ARGS += "use_lld=true use_gold=false" + +UNWINDLIB_toolchain-clang = "--unwindlib=libgcc" + +DEPEND_remove_runtime-llvm = "compiler-rt-native libcxx-native" + +BUILD_CPPFLAGS_remove_rumtime-llvm = "-isysroot=${STAGING_DIR_NATIVE} -stdlib=libc++" +BUILD_LDFLAGS_remove_runtime-llvm = "-rtlib=libgcc -unwindlib=libgcc -stdlib=libc++ -lc++abi -rpath ${STAGING_LIBDIR_NATIVE}" diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/gn-native_%.bbappend b/dynamic-layers/chromium-browser-layer/recipes-browser/gn-native_%.bbappend new file mode 100644 index 0000000..9fcb978 --- /dev/null +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/gn-native_%.bbappend @@ -0,0 +1,6 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +DEPEND_remove_runtime-llvm = "compiler-rt-native libcxx-native" + +BUILD_CPPFLAGS_remove_rumtime-llvm = "-isysroot=${STAGING_DIR_NATIVE} -stdlib=libc++" +BUILD_LDFLAGS_remove_runtime-llvm = "-rtlib=libgcc -unwindlib=libgcc -stdlib=libc++ -lc++abi -rpath ${STAGING_LIBDIR_NATIVE}" -- cgit v1.2.3-54-g00ecf From 67803c1e3b1ef7f893bf20005d0fbad13fd82ef1 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 13 Aug 2021 12:21:50 -0700 Subject: chromium,gn: Do not use runtime-llvm to remove libc++ native deps This override may not exist in old releases Signed-off-by: Khem Raj --- .../recipes-browser/chromium-ozone-wayland_%.bbappend | 6 +++--- .../chromium-browser-layer/recipes-browser/chromium-x11_%.bbappend | 6 +++--- .../chromium-browser-layer/recipes-browser/gn-native_%.bbappend | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend index e6c0d5c..8d3819e 100644 --- a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend @@ -4,7 +4,7 @@ GN_ARGS += "use_lld=true use_gold=false" UNWINDLIB_toolchain-clang = "--unwindlib=libgcc" -DEPEND_remove_runtime-llvm = "compiler-rt-native libcxx-native" +DEPEND_remove = "compiler-rt-native libcxx-native" -BUILD_CPPFLAGS_remove_rumtime-llvm = "-isysroot=${STAGING_DIR_NATIVE} -stdlib=libc++" -BUILD_LDFLAGS_remove_runtime-llvm = "-rtlib=libgcc -unwindlib=libgcc -stdlib=libc++ -lc++abi -rpath ${STAGING_LIBDIR_NATIVE}" +BUILD_CPPFLAGS_remove = "-isysroot=${STAGING_DIR_NATIVE} -stdlib=libc++" +BUILD_LDFLAGS_remove = "-rtlib=libgcc -unwindlib=libgcc -stdlib=libc++ -lc++abi -rpath ${STAGING_LIBDIR_NATIVE}" diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-x11_%.bbappend b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-x11_%.bbappend index e6c0d5c..8d3819e 100644 --- a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-x11_%.bbappend +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-x11_%.bbappend @@ -4,7 +4,7 @@ GN_ARGS += "use_lld=true use_gold=false" UNWINDLIB_toolchain-clang = "--unwindlib=libgcc" -DEPEND_remove_runtime-llvm = "compiler-rt-native libcxx-native" +DEPEND_remove = "compiler-rt-native libcxx-native" -BUILD_CPPFLAGS_remove_rumtime-llvm = "-isysroot=${STAGING_DIR_NATIVE} -stdlib=libc++" -BUILD_LDFLAGS_remove_runtime-llvm = "-rtlib=libgcc -unwindlib=libgcc -stdlib=libc++ -lc++abi -rpath ${STAGING_LIBDIR_NATIVE}" +BUILD_CPPFLAGS_remove = "-isysroot=${STAGING_DIR_NATIVE} -stdlib=libc++" +BUILD_LDFLAGS_remove = "-rtlib=libgcc -unwindlib=libgcc -stdlib=libc++ -lc++abi -rpath ${STAGING_LIBDIR_NATIVE}" diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/gn-native_%.bbappend b/dynamic-layers/chromium-browser-layer/recipes-browser/gn-native_%.bbappend index 9fcb978..5901875 100644 --- a/dynamic-layers/chromium-browser-layer/recipes-browser/gn-native_%.bbappend +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/gn-native_%.bbappend @@ -1,6 +1,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -DEPEND_remove_runtime-llvm = "compiler-rt-native libcxx-native" +DEPEND_remove = "compiler-rt-native libcxx-native" -BUILD_CPPFLAGS_remove_rumtime-llvm = "-isysroot=${STAGING_DIR_NATIVE} -stdlib=libc++" -BUILD_LDFLAGS_remove_runtime-llvm = "-rtlib=libgcc -unwindlib=libgcc -stdlib=libc++ -lc++abi -rpath ${STAGING_LIBDIR_NATIVE}" +CXXFLAGS_remove = "-isysroot=${STAGING_DIR_NATIVE} -stdlib=libc++" +LDFLAGS_remove = "-rtlib=libgcc -unwindlib=libgcc -stdlib=libc++ -lc++abi -rpath ${STAGING_LIBDIR_NATIVE}" -- cgit v1.2.3-54-g00ecf From 76c6751d721a4265e01bb71d8dc4fb46dca6602f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 13 Aug 2021 12:50:28 -0700 Subject: chromium,gn: Fix typo in depends spec Signed-off-by: Khem Raj --- .../recipes-browser/chromium-ozone-wayland_%.bbappend | 2 +- .../chromium-browser-layer/recipes-browser/chromium-x11_%.bbappend | 2 +- .../chromium-browser-layer/recipes-browser/gn-native_%.bbappend | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend index 8d3819e..ff82a79 100644 --- a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-ozone-wayland_%.bbappend @@ -4,7 +4,7 @@ GN_ARGS += "use_lld=true use_gold=false" UNWINDLIB_toolchain-clang = "--unwindlib=libgcc" -DEPEND_remove = "compiler-rt-native libcxx-native" +DEPENDS_remove = "compiler-rt-native libcxx-native" BUILD_CPPFLAGS_remove = "-isysroot=${STAGING_DIR_NATIVE} -stdlib=libc++" BUILD_LDFLAGS_remove = "-rtlib=libgcc -unwindlib=libgcc -stdlib=libc++ -lc++abi -rpath ${STAGING_LIBDIR_NATIVE}" diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-x11_%.bbappend b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-x11_%.bbappend index 8d3819e..ff82a79 100644 --- a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-x11_%.bbappend +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-x11_%.bbappend @@ -4,7 +4,7 @@ GN_ARGS += "use_lld=true use_gold=false" UNWINDLIB_toolchain-clang = "--unwindlib=libgcc" -DEPEND_remove = "compiler-rt-native libcxx-native" +DEPENDS_remove = "compiler-rt-native libcxx-native" BUILD_CPPFLAGS_remove = "-isysroot=${STAGING_DIR_NATIVE} -stdlib=libc++" BUILD_LDFLAGS_remove = "-rtlib=libgcc -unwindlib=libgcc -stdlib=libc++ -lc++abi -rpath ${STAGING_LIBDIR_NATIVE}" diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/gn-native_%.bbappend b/dynamic-layers/chromium-browser-layer/recipes-browser/gn-native_%.bbappend index 5901875..cd60c58 100644 --- a/dynamic-layers/chromium-browser-layer/recipes-browser/gn-native_%.bbappend +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/gn-native_%.bbappend @@ -1,6 +1,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -DEPEND_remove = "compiler-rt-native libcxx-native" +DEPENDS_remove = "compiler-rt-native libcxx-native" CXXFLAGS_remove = "-isysroot=${STAGING_DIR_NATIVE} -stdlib=libc++" LDFLAGS_remove = "-rtlib=libgcc -unwindlib=libgcc -stdlib=libc++ -lc++abi -rpath ${STAGING_LIBDIR_NATIVE}" -- cgit v1.2.3-54-g00ecf From 52c7b51ab9ebe426a77559802333d8479864912e Mon Sep 17 00:00:00 2001 From: Florian Wühr Date: Wed, 22 Sep 2021 08:00:54 +0200 Subject: Compiler-rt: Backport clang 12 implementation to be able to build libtsan --- ...ler-rt-Fix-realpath-already-defined-error.patch | 54 ++++++++++++++++++++++ ...0005-compiler-rt-Disable-tsan-on-OE-glibc.patch | 40 ---------------- recipes-devtools/clang/common.inc | 2 +- 3 files changed, 55 insertions(+), 41 deletions(-) create mode 100755 recipes-devtools/clang/clang/0001-compiler-rt-Fix-realpath-already-defined-error.patch delete mode 100644 recipes-devtools/clang/clang/0005-compiler-rt-Disable-tsan-on-OE-glibc.patch diff --git a/recipes-devtools/clang/clang/0001-compiler-rt-Fix-realpath-already-defined-error.patch b/recipes-devtools/clang/clang/0001-compiler-rt-Fix-realpath-already-defined-error.patch new file mode 100755 index 0000000..35e65d3 --- /dev/null +++ b/recipes-devtools/clang/clang/0001-compiler-rt-Fix-realpath-already-defined-error.patch @@ -0,0 +1,54 @@ +From dde0be40b3628caa4abbb7ca367bc753f7b7e7a6 Mon Sep 17 00:00:00 2001 +From: Alexander Thoma +Date: Wed, 22 Sep 2021 07:46:29 +0200 +Subject: [PATCH] compiler-rt Fix realpath already defined error + +--- + compiler-rt/lib/tsan/dd/dd_interceptors.cpp | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/compiler-rt/lib/tsan/dd/dd_interceptors.cpp b/compiler-rt/lib/tsan/dd/dd_interceptors.cpp +index 35a0beb19196..ed819339f3cb 100644 +--- a/compiler-rt/lib/tsan/dd/dd_interceptors.cpp ++++ b/compiler-rt/lib/tsan/dd/dd_interceptors.cpp +@@ -6,11 +6,11 @@ + // + //===----------------------------------------------------------------------===// + ++#include + #include "dd_rtl.h" + #include "interception/interception.h" + #include "sanitizer_common/sanitizer_procmaps.h" +-#include +-#include ++#include "sanitizer_common/sanitizer_allocator_internal.h" + + using namespace __dsan; + +@@ -163,12 +163,12 @@ static pthread_cond_t *init_cond(pthread_cond_t *c, bool force = false) { + uptr cond = atomic_load(p, memory_order_acquire); + if (!force && cond != 0) + return (pthread_cond_t*)cond; +- void *newcond = malloc(sizeof(pthread_cond_t)); ++ void *newcond = InternalAlloc(sizeof(pthread_cond_t)); + internal_memset(newcond, 0, sizeof(pthread_cond_t)); + if (atomic_compare_exchange_strong(p, &cond, (uptr)newcond, + memory_order_acq_rel)) + return (pthread_cond_t*)newcond; +- free(newcond); ++ InternalFree(newcond); + return (pthread_cond_t*)cond; + } + +@@ -216,7 +216,7 @@ INTERCEPTOR(int, pthread_cond_destroy, pthread_cond_t *c) { + InitThread(); + pthread_cond_t *cond = init_cond(c); + int res = REAL(pthread_cond_destroy)(cond); +- free(cond); ++ InternalFree(cond); + atomic_store((atomic_uintptr_t*)c, 0, memory_order_relaxed); + return res; + } +-- +2.25.1 + diff --git a/recipes-devtools/clang/clang/0005-compiler-rt-Disable-tsan-on-OE-glibc.patch b/recipes-devtools/clang/clang/0005-compiler-rt-Disable-tsan-on-OE-glibc.patch deleted file mode 100644 index 59d774c..0000000 --- a/recipes-devtools/clang/clang/0005-compiler-rt-Disable-tsan-on-OE-glibc.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 7730422bbca50431386391ed341c5d5ed649d14e Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 18 Jul 2016 08:05:02 +0000 -Subject: [PATCH] compiler-rt: Disable tsan on OE/glibc - -It does not build see -http://lists.llvm.org/pipermail/llvm-dev/2016-July/102235.html - -Signed-off-by: Khem Raj ---- - compiler-rt/cmake/config-ix.cmake | 2 +- - compiler-rt/test/sanitizer_common/CMakeLists.txt | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake -index 3aad08e8896..a979d38c7a6 100644 ---- a/compiler-rt/cmake/config-ix.cmake -+++ b/compiler-rt/cmake/config-ix.cmake -@@ -653,7 +653,7 @@ else() - endif() - - if (COMPILER_RT_HAS_SANITIZER_COMMON AND TSAN_SUPPORTED_ARCH AND -- OS_NAME MATCHES "Darwin|Linux|FreeBSD|Android|NetBSD") -+ OS_NAME MATCHES "Darwin|FreeBSD|Android|NetBSD") - set(COMPILER_RT_HAS_TSAN TRUE) - else() - set(COMPILER_RT_HAS_TSAN FALSE) -diff --git a/compiler-rt/test/sanitizer_common/CMakeLists.txt b/compiler-rt/test/sanitizer_common/CMakeLists.txt -index fcd651ebe42..821de915be8 100644 ---- a/compiler-rt/test/sanitizer_common/CMakeLists.txt -+++ b/compiler-rt/test/sanitizer_common/CMakeLists.txt -@@ -11,7 +11,7 @@ set(SANITIZER_COMMON_TESTSUITES) - # FIXME(dliew): We should switch to COMPILER_RT_SANITIZERS_TO_BUILD instead of - # the hard coded `SUPPORTED_TOOLS_INIT` list once we know that the other - # sanitizers work. --set(SUPPORTED_TOOLS_INIT asan lsan msan tsan ubsan) -+set(SUPPORTED_TOOLS_INIT asan lsan msan ubsan) - set(SUPPORTED_TOOLS) - foreach(SANITIZER_TOOL ${SUPPORTED_TOOLS_INIT}) - string(TOUPPER ${SANITIZER_TOOL} SANITIZER_TOOL_UPPER) diff --git a/recipes-devtools/clang/common.inc b/recipes-devtools/clang/common.inc index d257f4b..a72d12e 100644 --- a/recipes-devtools/clang/common.inc +++ b/recipes-devtools/clang/common.inc @@ -12,7 +12,7 @@ SRC_URI = "\ file://0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch \ file://0003-compiler-rt-support-a-new-embedded-linux-target.patch \ file://0004-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch \ - file://0005-compiler-rt-Disable-tsan-on-OE-glibc.patch \ + file://0001-compiler-rt-Fix-realpath-already-defined-error.patch \ file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \ file://0007-llvm-allow-env-override-of-exe-path.patch \ file://0008-clang-driver-Check-sysroot-for-ldso-path.patch \ -- cgit v1.2.3-54-g00ecf From 5ac36e49ab0f4b9bc72a3c747841c1f9e54e640a Mon Sep 17 00:00:00 2001 From: Raphael Kubo da Costa Date: Mon, 1 Nov 2021 11:25:36 +0100 Subject: clang: Backport missing include fix from upstream. This affects LLVM < 12, so backport directly to dunfell. This adds a missing include that was breaking the build with recent libstdc++ releases on the host system (versions 11 and above). Signed-off-by: Raphael Kubo da Costa --- .../clang/clang/0028-nfc-Fix-missing-include.patch | 28 ++++++++++++++++++++++ recipes-devtools/clang/common.inc | 1 + 2 files changed, 29 insertions(+) create mode 100644 recipes-devtools/clang/clang/0028-nfc-Fix-missing-include.patch diff --git a/recipes-devtools/clang/clang/0028-nfc-Fix-missing-include.patch b/recipes-devtools/clang/clang/0028-nfc-Fix-missing-include.patch new file mode 100644 index 0000000..250e0da --- /dev/null +++ b/recipes-devtools/clang/clang/0028-nfc-Fix-missing-include.patch @@ -0,0 +1,28 @@ +From b498303066a63a203d24f739b2d2e0e56dca70d1 Mon Sep 17 00:00:00 2001 +From: serge-sans-paille +Date: Tue, 10 Nov 2020 14:55:25 +0100 +Subject: [PATCH] [nfc] Fix missing include + +Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/b498303066a63a203d24f739b2d2e0e56dca70d1] + +Signed-off-by: Raphael Kubo da Costa + +--- + llvm/utils/benchmark/src/benchmark_register.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/llvm/utils/benchmark/src/benchmark_register.h b/llvm/utils/benchmark/src/benchmark_register.h +index 0705e219f2fa..4caa5ad4da07 100644 +--- a/llvm/utils/benchmark/src/benchmark_register.h ++++ b/llvm/utils/benchmark/src/benchmark_register.h +@@ -1,6 +1,7 @@ + #ifndef BENCHMARK_REGISTER_H + #define BENCHMARK_REGISTER_H + ++#include + #include + + #include "check.h" +-- +2.31.1 + diff --git a/recipes-devtools/clang/common.inc b/recipes-devtools/clang/common.inc index a72d12e..b070428 100644 --- a/recipes-devtools/clang/common.inc +++ b/recipes-devtools/clang/common.inc @@ -35,6 +35,7 @@ SRC_URI = "\ file://0025-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch \ file://0026-OpenCL-Fix-support-for-cl_khr_mipmap_image_writes.patch \ file://0027-InstCombine-visitBitCast-do-not-crash-on-weird-bitca.patch;patchdir=llvm \ + file://0028-nfc-Fix-missing-include.patch \ " # Fallback to no-PIE if not set -- cgit v1.2.3-54-g00ecf