[arch-commits] Commit in clang/trunk (PKGBUILD clang-coroutines-ubsan.patch)

2022-08-03 Thread Evangelos Foutras via arch-commits
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)

2022-06-25 Thread Evangelos Foutras via arch-commits
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)

2022-06-21 Thread Evangelos Foutras via arch-commits
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)

2022-02-07 Thread Evangelos Foutras via arch-commits
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)

2021-12-02 Thread Felix Yan via arch-commits
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)

2021-10-30 Thread Evangelos Foutras via arch-commits
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)

2021-02-17 Thread Evangelos Foutras via arch-commits
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)

2021-01-09 Thread Evangelos Foutras via arch-commits
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;
-+