[arch-commits] Commit in clang/trunk (PKGBUILD clang-coroutines-ubsan.patch)
Date: Thursday, August 4, 2022 @ 02:28:37 Author: foutrelis Revision: 452044 upgpkg: clang 14.0.6-2: fix coroutines + ubsan (FS#75502) Added: clang/trunk/clang-coroutines-ubsan.patch Modified: clang/trunk/PKGBUILD --+ PKGBUILD |7 clang-coroutines-ubsan.patch | 317 + 2 files changed, 323 insertions(+), 1 deletion(-) Modified: PKGBUILD === --- PKGBUILD2022-08-04 02:25:49 UTC (rev 452043) +++ PKGBUILD2022-08-04 02:28:37 UTC (rev 452044) @@ -3,7 +3,7 @@ pkgname=clang pkgver=14.0.6 -pkgrel=1 +pkgrel=2 pkgdesc="C language family frontend for LLVM" arch=('x86_64') url="https://clang.llvm.org/; @@ -20,6 +20,7 @@ source=($_source_base/clang-$pkgver.src.tar.xz{,.sig} $_source_base/clang-tools-extra-$pkgver.src.tar.xz{,.sig} $_source_base/llvm-$pkgver.src.tar.xz{,.sig} +clang-coroutines-ubsan.patch clang-tidy-fix-standalone-build.patch enable-fstack-protector-strong-by-default.patch) sha256sums=('2b5847b6a63118b9efe5c85548363c81ffe096b66c3b3675e953e26342ae4031' @@ -28,6 +29,7 @@ 'SKIP' '050922ecaaca5781fdf6631ea92bc715183f202f9d2f15147226f023414f619a' 'SKIP' +'2c25ddf0ba6be01949842873fef4d285456321aaccd4ba95db61b69a4c580106' '081a7ebc1ae524b13fc6be3dc73feb2c9eb7cf4b99f7f13d9ed37a688311f58a' '7a9ce949579a3b02d4b91b6835c4fb45adc5f743007572fb0e28e6433e48f3a5') validpgpkeys=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard @@ -60,6 +62,9 @@ mv "$srcdir/clang-tools-extra-$pkgver.src" tools/extra patch -Np2 -i ../enable-fstack-protector-strong-by-default.patch + # https://github.com/llvm/llvm-project/issues/49689 + patch -Np2 -i ../clang-coroutines-ubsan.patch + # https://github.com/llvm/llvm-project/issues/54116 patch -Np0 -i ../clang-tidy-fix-standalone-build.patch Added: clang-coroutines-ubsan.patch === --- clang-coroutines-ubsan.patch(rev 0) +++ clang-coroutines-ubsan.patch2022-08-04 02:28:37 UTC (rev 452044) @@ -0,0 +1,317 @@ +From 1030297d77ae5110b7873530f645aeec3a4264ba Mon Sep 17 00:00:00 2001 +From: Yuanfang Chen +Date: Mon, 27 Jun 2022 11:33:45 -0700 +Subject: [PATCH] [ubsan] Using metadata instead of prologue data for function + sanitizer + +Information in the function `Prologue Data` is intentionally opaque. +When a function with `Prologue Data` is duplicated. The self (global +value) references inside `Prologue Data` is still pointing to the +original function. This may cause errors like `fatal error: error in backend: Cannot represent a difference across sections`. + +This patch detaches the information from function `Prologue Data` +and attaches it to a function metadata node. + +This and D116130 fix https://github.com/llvm/llvm-project/issues/49689. + +Reviewed By: pcc + +Differential Revision: https://reviews.llvm.org/D115844 + +(cherry picked from commit 6678f8e505b19069a9dbdc3e3ee088d543752412) +--- + clang/lib/CodeGen/CodeGenFunction.cpp | 36 -- + clang/lib/CodeGen/CodeGenFunction.h | 4 -- + clang/lib/CodeGen/CodeGenModule.cpp | 16 + clang/lib/CodeGen/CodeGenModule.h | 5 +++ + clang/lib/Driver/SanitizerArgs.cpp| 13 +++ + clang/test/CodeGen/ubsan-function.cpp | 5 ++- + .../test/CodeGenCXX/catch-undef-behavior.cpp | 37 +-- + .../CodeGenCXX/ubsan-function-noexcept.cpp| 6 ++- + clang/test/Driver/fsanitize.c | 3 ++ + 9 files changed, 69 insertions(+), 56 deletions(-) + +diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp +index 50e1638924d1..d7393526bb2c 100644 +--- a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp +@@ -560,29 +560,6 @@ bool CodeGenFunction::AlwaysEmitXRayTypedEvents() const { + XRayInstrKind::Typed); + } + +-llvm::Constant * +-CodeGenFunction::EncodeAddrForUseInPrologue(llvm::Function *F, +-llvm::Constant *Addr) { +- // Addresses stored in prologue data can't require run-time fixups and must +- // be PC-relative. Run-time fixups are undesirable because they necessitate +- // writable text segments, which are unsafe. And absolute addresses are +- // undesirable because they break PIE mode. +- +- // Add a layer of indirection through a private global. Taking its address +- // won't result in a run-time fixup, even if Addr has linkonce_odr linkage. +- auto *GV = new llvm::GlobalVariable(CGM.getModule(), Addr->getType(), +- /*isConstant=*/true, +- llvm::GlobalValue::PrivateLinkage, Addr); +- +- // Create a
[arch-commits] Commit in clang/trunk (PKGBUILD)
Date: Saturday, June 25, 2022 @ 10:42:01 Author: foutrelis Revision: 449385 upgpkg: clang 14.0.6-1: new upstream release Modified: clang/trunk/PKGBUILD --+ PKGBUILD |8 1 file changed, 4 insertions(+), 4 deletions(-) Modified: PKGBUILD === --- PKGBUILD2022-06-25 10:29:45 UTC (rev 449384) +++ PKGBUILD2022-06-25 10:42:01 UTC (rev 449385) @@ -2,7 +2,7 @@ # Contributor: Jan "heftig" Steffens pkgname=clang -pkgver=14.0.5 +pkgver=14.0.6 pkgrel=1 pkgdesc="C language family frontend for LLVM" arch=('x86_64') @@ -22,11 +22,11 @@ $_source_base/llvm-$pkgver.src.tar.xz{,.sig} clang-tidy-fix-standalone-build.patch enable-fstack-protector-strong-by-default.patch) -sha256sums=('a8e2e3ce217f4c2682c3fe2d2691f826cf1f0ab0a1dff4b5b8f6264baa1f2a79' +sha256sums=('2b5847b6a63118b9efe5c85548363c81ffe096b66c3b3675e953e26342ae4031' 'SKIP' -'443d7d3dc1e2a39e36b4a99989065e0328da788e4df96fd359d60fce962b3edd' +'7cf3b8ff56c65c4d1eae3c56883fc4a6cbc3ff9f3a1530a74d66e45d27271866' 'SKIP' -'234c8ed02ed1338aa4f0ffa955e45eb13abe7ba0032569d6bc17ae9334257b02' +'050922ecaaca5781fdf6631ea92bc715183f202f9d2f15147226f023414f619a' 'SKIP' '081a7ebc1ae524b13fc6be3dc73feb2c9eb7cf4b99f7f13d9ed37a688311f58a' '7a9ce949579a3b02d4b91b6835c4fb45adc5f743007572fb0e28e6433e48f3a5')
[arch-commits] Commit in clang/trunk (PKGBUILD)
Date: Tuesday, June 21, 2022 @ 15:38:45 Author: foutrelis Revision: 449219 Sort CMake arguments Modified: clang/trunk/PKGBUILD --+ PKGBUILD | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) Modified: PKGBUILD === --- PKGBUILD2022-06-21 14:51:12 UTC (rev 449218) +++ PKGBUILD2022-06-21 15:38:45 UTC (rev 449219) @@ -79,16 +79,16 @@ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON --DLLVM_LINK_LLVM_DYLIB=ON -DCLANG_LINK_CLANG_DYLIB=ON +-DLLVM_BUILD_DOCS=ON +-DLLVM_BUILD_TESTS=ON -DLLVM_ENABLE_RTTI=ON --DLLVM_BUILD_TESTS=ON --DLLVM_INCLUDE_DOCS=ON --DLLVM_BUILD_DOCS=ON -DLLVM_ENABLE_SPHINX=ON --DSPHINX_WARNINGS_AS_ERRORS=OFF -DLLVM_EXTERNAL_LIT=/usr/bin/lit +-DLLVM_INCLUDE_DOCS=ON +-DLLVM_LINK_LLVM_DYLIB=ON -DLLVM_MAIN_SRC_DIR="$srcdir/llvm-$pkgver.src" +-DSPHINX_WARNINGS_AS_ERRORS=OFF ) cmake .. "${cmake_args[@]}"
[arch-commits] Commit in clang/trunk (PKGBUILD)
Date: Monday, February 7, 2022 @ 22:11:27 Author: foutrelis Revision: 436415 upgpkg: clang 13.0.1-1: new upstream release Build with CMAKE_SKIP_RPATH=ON (FS#69279). Modified: clang/trunk/PKGBUILD --+ PKGBUILD | 13 +++-- 1 file changed, 7 insertions(+), 6 deletions(-) Modified: PKGBUILD === --- PKGBUILD2022-02-07 21:15:39 UTC (rev 436414) +++ PKGBUILD2022-02-07 22:11:27 UTC (rev 436415) @@ -2,8 +2,8 @@ # Contributor: Jan "heftig" Steffens pkgname=clang -pkgver=13.0.0 -pkgrel=4 +pkgver=13.0.1 +pkgrel=1 pkgdesc="C language family frontend for LLVM" arch=('x86_64') url="https://clang.llvm.org/; @@ -22,11 +22,11 @@ $_source_base/llvm-$pkgver.src.tar.xz{,.sig} fix-scan-build-py-executable-lookup-path.patch enable-SSP-and-PIE-by-default.patch) -sha256sums=('5d611cbb06cfb6626be46eb2f23d003b2b80f40182898daa54b1c4e8b5b9e17e' +sha256sums=('787a9e2d99f5c8720aa1773e4be009461cd30d3bd40fdd24591e473467c917c9' 'SKIP' -'428b6060a28b22adf0cdf5d827abbc2ba81809f4661ede3d02b1d3fedaa3ead5' +'cc2bc8598848513fa2257a270083e986fd61048347eccf1d801926ea709392d0' 'SKIP' -'408d11708643ea826f519ff79761fcdfc12d641a2510229eec459e72f8163020' +'ec6b80d82c384acad2dc192903a6cf2cdbaffb889b84bfb98da9d71e630fc834' 'SKIP' '578b960121c42b8db80566dcb51558409d04455b618cdd608e41b35ded36c13e' '67706047fc93a2e79185d344bdac48219ce042c55ddb9b9397bc98db2153ba58') @@ -75,6 +75,7 @@ -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr +-DCMAKE_SKIP_RPATH=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCLANG_LINK_CLANG_DYLIB=ON -DLLVM_ENABLE_RTTI=ON @@ -98,7 +99,7 @@ check() { cd "$srcdir/$pkgname-$pkgver.src/build" - ninja check-clang{,-tools} + LD_LIBRARY_PATH=$PWD/lib ninja check-clang{,-tools} } _python_optimize() {
[arch-commits] Commit in clang/trunk (PKGBUILD)
Date: Thursday, December 2, 2021 @ 15:38:08 Author: felixonmars Revision: 430313 upgpkg: clang 13.0.0-4: Python 3.10 rebuild Modified: clang/trunk/PKGBUILD --+ PKGBUILD |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Modified: PKGBUILD === --- PKGBUILD2021-12-02 15:27:57 UTC (rev 430312) +++ PKGBUILD2021-12-02 15:38:08 UTC (rev 430313) @@ -3,7 +3,7 @@ pkgname=clang pkgver=13.0.0 -pkgrel=3 +pkgrel=4 pkgdesc="C language family frontend for LLVM" arch=('x86_64') url="https://clang.llvm.org/;
[arch-commits] Commit in clang/trunk (PKGBUILD)
Date: Saturday, October 30, 2021 @ 10:27:50 Author: foutrelis Revision: 426832 upgpkg: clang 13.0.0-2: re-add scan-build libexec path fix Modified: clang/trunk/PKGBUILD --+ PKGBUILD |6 -- 1 file changed, 4 insertions(+), 2 deletions(-) Modified: PKGBUILD === --- PKGBUILD2021-10-30 10:00:07 UTC (rev 426831) +++ PKGBUILD2021-10-30 10:27:50 UTC (rev 426832) @@ -3,7 +3,7 @@ pkgname=clang pkgver=13.0.0 -pkgrel=1 +pkgrel=2 pkgdesc="C language family frontend for LLVM" arch=('x86_64') url="https://clang.llvm.org/; @@ -125,7 +125,9 @@ # Move analyzer scripts out of /usr/libexec mv "$pkgdir"/usr/libexec/* "$pkgdir/usr/lib/clang/" rmdir "$pkgdir/usr/libexec" - sed -i 's|libexec|lib/clang|' "$pkgdir/$site_packages/libscanbuild/analyze.py" + sed -i 's|libexec|lib/clang|' \ +"$pkgdir/usr/bin/scan-build" \ +"$pkgdir/$site_packages/libscanbuild/analyze.py" # Compile Python scripts _python_optimize "$pkgdir/usr/share" "$pkgdir/$site_packages"
[arch-commits] Commit in clang/trunk (PKGBUILD)
Date: Wednesday, February 17, 2021 @ 16:05:56 Author: foutrelis Revision: 408425 upgpkg: clang 11.1.0-1: new upstream release; fixes an ABI break Modified: clang/trunk/PKGBUILD --+ PKGBUILD |8 1 file changed, 4 insertions(+), 4 deletions(-) Modified: PKGBUILD === --- PKGBUILD2021-02-17 15:53:41 UTC (rev 408424) +++ PKGBUILD2021-02-17 16:05:56 UTC (rev 408425) @@ -2,7 +2,7 @@ # Contributor: Jan "heftig" Steffens pkgname=clang -pkgver=11.0.1 +pkgver=11.1.0 pkgrel=1 pkgdesc="C language family frontend for LLVM" arch=('x86_64') @@ -21,11 +21,11 @@ $_source_base/clang-tools-extra-$pkgver.src.tar.xz{,.sig} $_source_base/llvm-$pkgver.src.tar.xz{,.sig} enable-SSP-and-PIE-by-default.patch) -sha256sums=('73f572c2eefc5a155e01bcd84815751d722a4d3925f53c144acfb93eeb274b4d' +sha256sums=('0a8288f065d1f57cb6d96da4d2965cbea32edc572aa972e466e954d17148558b' 'SKIP' -'2ca211dd8cc396a919709a9bc35af11b7d425df0c608d85ba6629242893516c9' +'76707c249de7a9cde3456b960c9a36ed9bbde8e3642c01f0ef61a43d61e0c1a2' 'SKIP' -'ccd87c254b6aebc5077e4e6977d08d4be888e7eb672c6630a26a15d58b59b528' +'ce8508e318a01a63d4e8b3090ab2ded3c598a50258cc49e2625b9120d4c03ea5' 'SKIP' '248a0e8609b00689e82ce5e05e1de58b7c8ae09a35bbb9625e9069e1f13d2fec') validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg
[arch-commits] Commit in clang/trunk (PKGBUILD cuda-version-detection.patch)
Date: Saturday, January 9, 2021 @ 23:32:49 Author: foutrelis Revision: 405904 upgpkg: clang 11.0.1-1: new upstream release Modified: clang/trunk/PKGBUILD Deleted: clang/trunk/cuda-version-detection.patch --+ PKGBUILD | 13 - cuda-version-detection.patch | 378 - 2 files changed, 5 insertions(+), 386 deletions(-) Modified: PKGBUILD === --- PKGBUILD2021-01-09 23:11:35 UTC (rev 405903) +++ PKGBUILD2021-01-09 23:32:49 UTC (rev 405904) @@ -2,8 +2,8 @@ # Contributor: Jan "heftig" Steffens pkgname=clang -pkgver=11.0.0 -pkgrel=4 +pkgver=11.0.1 +pkgrel=1 pkgdesc="C language family frontend for LLVM" arch=('x86_64') url="https://clang.llvm.org/; @@ -20,15 +20,13 @@ source=($_source_base/$pkgname-$pkgver.src.tar.xz{,.sig} $_source_base/clang-tools-extra-$pkgver.src.tar.xz{,.sig} $_source_base/llvm-$pkgver.src.tar.xz{,.sig} -cuda-version-detection.patch enable-SSP-and-PIE-by-default.patch) -sha256sums=('0f96acace1e8326b39f220ba19e055ba99b0ab21c2475042dbc6a482649c5209' +sha256sums=('73f572c2eefc5a155e01bcd84815751d722a4d3925f53c144acfb93eeb274b4d' 'SKIP' -'fed318f75d560d0e0ae728e2fb8abce71e9d0c60dd120c9baac118522ce76c09' +'2ca211dd8cc396a919709a9bc35af11b7d425df0c608d85ba6629242893516c9' 'SKIP' -'913f68c898dfb4a03b397c5e11c6a2f39d0f22ed7665c9cefa87a34423a72469' +'ccd87c254b6aebc5077e4e6977d08d4be888e7eb672c6630a26a15d58b59b528' 'SKIP' -'757dc5a288f6847d38e320c364d48fb6454aef25514b2346030b623842ac904e' '248a0e8609b00689e82ce5e05e1de58b7c8ae09a35bbb9625e9069e1f13d2fec') validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard @@ -59,7 +57,6 @@ cd "$srcdir/$pkgname-$pkgver.src" mkdir build mv "$srcdir/clang-tools-extra-$pkgver.src" tools/extra - patch -Np2 -i ../cuda-version-detection.patch patch -Np2 -i ../enable-SSP-and-PIE-by-default.patch } Deleted: cuda-version-detection.patch === --- cuda-version-detection.patch2021-01-09 23:11:35 UTC (rev 405903) +++ cuda-version-detection.patch2021-01-09 23:32:49 UTC (rev 405904) @@ -1,378 +0,0 @@ -From d50044e809d2c15c56df0ea808f047a2c81d7344 Mon Sep 17 00:00:00 2001 -From: Artem Belevich -Date: Mon, 19 Oct 2020 16:41:51 -0700 -Subject: [PATCH 1/2] [CUDA] Improve clang's ability to detect recent CUDA - versions. - -CUDA-11.1 does not carry version.txt which causes clang to assume that it's -CUDA-7.0, which used to be the only CUDA version w/o version.txt. - -In order to tell CUDA-7.0 apart from the new versions, clang now probes for the -presence of libdevice.10.bc which is not present in the old CUDA versions. - -This should keep Clang working for CUDA-11.1. - -PR47332: https://bugs.llvm.org/show_bug.cgi?id=47332 - -Differential Revision: https://reviews.llvm.org/D89752 - -(cherry picked from commit 65d206484c54177641d4b11d42cab1f1acc8c0c7) - clang/lib/Driver/ToolChains/Cuda.cpp | 11 --- - .../Driver/Inputs/CUDA_111/usr/local/cuda/bin/.keep | 0 - .../Inputs/CUDA_111/usr/local/cuda/include/.keep | 0 - .../Driver/Inputs/CUDA_111/usr/local/cuda/lib/.keep | 0 - .../Driver/Inputs/CUDA_111/usr/local/cuda/lib64/.keep | 0 - .../usr/local/cuda/nvvm/libdevice/libdevice.10.bc | 0 - clang/test/Driver/cuda-version-check.cu | 7 ++- - 7 files changed, 14 insertions(+), 4 deletions(-) - create mode 100644 clang/test/Driver/Inputs/CUDA_111/usr/local/cuda/bin/.keep - create mode 100644 clang/test/Driver/Inputs/CUDA_111/usr/local/cuda/include/.keep - create mode 100644 clang/test/Driver/Inputs/CUDA_111/usr/local/cuda/lib/.keep - create mode 100644 clang/test/Driver/Inputs/CUDA_111/usr/local/cuda/lib64/.keep - create mode 100644 clang/test/Driver/Inputs/CUDA_111/usr/local/cuda/nvvm/libdevice/libdevice.10.bc - -diff --git a/clang/lib/Driver/ToolChains/Cuda.cpp b/clang/lib/Driver/ToolChains/Cuda.cpp -index 110a0bca9bc1..cfd9dae0fa91 100644 a/clang/lib/Driver/ToolChains/Cuda.cpp -+++ b/clang/lib/Driver/ToolChains/Cuda.cpp -@@ -155,9 +155,14 @@ CudaInstallationDetector::CudaInstallationDetector( - llvm::ErrorOr> VersionFile = - FS.getBufferForFile(InstallPath + "/version.txt"); - if (!VersionFile) { -- // CUDA 7.0 doesn't have a version.txt, so guess that's our version if -- // version.txt isn't present. -- Version = CudaVersion::CUDA_70; -+ // CUDA 7.0 and CUDA 11.1+ do not have version.txt file. -+ // Use libdevice file to distinguish 7.0 from the new versions. -+ if (FS.exists(LibDevicePath + "/libdevice.10.bc")) { -+Version = CudaVersion::LATEST; -+