[arch-commits] Commit in lib32-clang/repos (3 files)

2020-10-12 Thread Evangelos Foutras via arch-commits
Date: Monday, October 12, 2020 @ 20:17:28
  Author: foutrelis
Revision: 723726

archrelease: copy trunk to multilib-staging-x86_64

Added:
  lib32-clang/repos/multilib-staging-x86_64/
  lib32-clang/repos/multilib-staging-x86_64/PKGBUILD
(from rev 723725, lib32-clang/trunk/PKGBUILD)
  lib32-clang/repos/multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch
(from rev 723725, lib32-clang/trunk/enable-SSP-and-PIE-by-default.patch)

-+
 PKGBUILD|   93 +
 enable-SSP-and-PIE-by-default.patch |  336 ++
 2 files changed, 429 insertions(+)

Copied: lib32-clang/repos/multilib-staging-x86_64/PKGBUILD (from rev 723725, 
lib32-clang/trunk/PKGBUILD)
===
--- multilib-staging-x86_64/PKGBUILD(rev 0)
+++ multilib-staging-x86_64/PKGBUILD2020-10-12 20:17:28 UTC (rev 723726)
@@ -0,0 +1,93 @@
+# Maintainer: Evangelos Foutras 
+# Contributor: Jan "heftig" Steffens 
+
+pkgname=lib32-clang
+pkgver=11.0.0
+pkgrel=1
+pkgdesc="C language family frontend for LLVM (32-bit)"
+arch=('x86_64')
+url="https://clang.llvm.org/";
+license=('custom:Apache 2.0 with LLVM Exception')
+depends=('lib32-llvm-libs' 'gcc-multilib')
+makedepends=('lib32-llvm' 'cmake' 'ninja' 'python')
+_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver
+source=($_source_base/clang-$pkgver.src.tar.xz{,.sig}
+$_source_base/llvm-$pkgver.src.tar.xz{,.sig}
+enable-SSP-and-PIE-by-default.patch)
+sha256sums=('0f96acace1e8326b39f220ba19e055ba99b0ab21c2475042dbc6a482649c5209'
+'SKIP'
+'913f68c898dfb4a03b397c5e11c6a2f39d0f22ed7665c9cefa87a34423a72469'
+'SKIP'
+'248a0e8609b00689e82ce5e05e1de58b7c8ae09a35bbb9625e9069e1f13d2fec')
+validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg 

+validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard 

+
+# Utilizing LLVM_DISTRIBUTION_COMPONENTS to avoid
+# installing static libraries; inspired by Gentoo
+_get_distribution_components() {
+  local target
+  ninja -t targets | grep -Po 'install-\K.*(?=-stripped:)' | while read -r 
target; do
+case $target in
+  clang-libraries|distribution)
+continue
+;;
+  clang-tidy-headers)
+continue
+;;
+  clang|clangd|clang-*)
+;;
+  clang*|findAllSymbols)
+continue
+;;
+esac
+echo $target
+  done
+}
+
+prepare() {
+  cd "$srcdir/clang-$pkgver.src"
+  mkdir build
+  patch -Np2 -i ../enable-SSP-and-PIE-by-default.patch
+}
+
+build() {
+  cd "$srcdir/clang-$pkgver.src/build"
+
+  export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+  local cmake_args=(
+-G Ninja
+-DCMAKE_BUILD_TYPE=Release
+-DCMAKE_INSTALL_PREFIX=/usr
+-DPYTHON_EXECUTABLE=/usr/bin/python
+-DLLVM_LIBDIR_SUFFIX=32
+-DCMAKE_C_FLAGS:STRING=-m32
+-DCMAKE_CXX_FLAGS:STRING=-m32
+-DLLVM_CONFIG="/usr/bin/llvm-config32"
+-DLLVM_LINK_LLVM_DYLIB=ON
+-DCLANG_LINK_CLANG_DYLIB=ON
+-DLLVM_ENABLE_RTTI=ON
+-DLLVM_BUILD_TESTS=OFF
+-DLLVM_INCLUDE_DOCS=OFF
+-DLLVM_MAIN_SRC_DIR="$srcdir/llvm-$pkgver.src"
+  )
+
+  cmake .. "${cmake_args[@]}"
+  local distribution_components=$(_get_distribution_components | paste -sd\;)
+  test -n "$distribution_components"
+  cmake_args+=(-DLLVM_DISTRIBUTION_COMPONENTS="$distribution_components")
+
+  cmake .. "${cmake_args[@]}"
+  ninja
+}
+
+package() {
+  cd "$srcdir/clang-$pkgver.src/build"
+
+  DESTDIR="$pkgdir" ninja install-distribution
+  rm -rf "$pkgdir"/usr/{bin,include,libexec,share}
+
+  install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:

Copied: 
lib32-clang/repos/multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 
(from rev 723725, lib32-clang/trunk/enable-SSP-and-PIE-by-default.patch)
===
--- multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 
(rev 0)
+++ multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 2020-10-12 
20:17:28 UTC (rev 723726)
@@ -0,0 +1,336 @@
+From bb7bdc61f8a80db9aa16370d9c9fd0ae7be825cc Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras 
+Date: Mon, 12 Oct 2020 16:40:41 +0300
+Subject: [PATCH] Enable SSP and PIE by default
+
+This is a minimal set of changes needed to make clang use SSP and PIE by
+default on Arch Linux. Tests that were easy to adjust have been changed
+accordingly; only test/Driver/linux-ld.c has been marked as "expected
+failure" due to the number of changes it would require (mostly replacing
+crtbegin.o with crtbeginS.o).
+
+Doing so is needed in order to align clang with the new default GCC
+behavior in Arch which generates PIE executables by default and also
+defaults to -fstack-protector-strong. It is not meant to be a long ter

[arch-commits] Commit in lib32-clang/repos (3 files)

2020-07-23 Thread Evangelos Foutras via arch-commits
Date: Thursday, July 23, 2020 @ 08:45:09
  Author: foutrelis
Revision: 664985

archrelease: copy trunk to multilib-testing-x86_64

Added:
  lib32-clang/repos/multilib-testing-x86_64/
  lib32-clang/repos/multilib-testing-x86_64/PKGBUILD
(from rev 664984, lib32-clang/trunk/PKGBUILD)
  lib32-clang/repos/multilib-testing-x86_64/enable-SSP-and-PIE-by-default.patch
(from rev 664984, lib32-clang/trunk/enable-SSP-and-PIE-by-default.patch)

-+
 PKGBUILD|   99 ++
 enable-SSP-and-PIE-by-default.patch |  336 ++
 2 files changed, 435 insertions(+)

Copied: lib32-clang/repos/multilib-testing-x86_64/PKGBUILD (from rev 664984, 
lib32-clang/trunk/PKGBUILD)
===
--- multilib-testing-x86_64/PKGBUILD(rev 0)
+++ multilib-testing-x86_64/PKGBUILD2020-07-23 08:45:09 UTC (rev 664985)
@@ -0,0 +1,99 @@
+# Maintainer: Evangelos Foutras 
+# Contributor: Jan "heftig" Steffens 
+
+pkgname=lib32-clang
+pkgver=10.0.1
+pkgrel=1
+pkgdesc="C language family frontend for LLVM (32-bit)"
+arch=('x86_64')
+url="https://clang.llvm.org/";
+license=('custom:Apache 2.0 with LLVM Execption')
+depends=('lib32-llvm-libs' 'gcc-multilib')
+makedepends=('lib32-llvm' 'cmake' 'ninja' 'python')
+_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver
+source=($_source_base/clang-$pkgver.src.tar.xz{,.sig}
+$_source_base/llvm-$pkgver.src.tar.xz{,.sig}
+enable-SSP-and-PIE-by-default.patch)
+sha256sums=('f99afc382b88e622c689b6d96cadfa6241ef55dca90e87fc170352e12ddb2b24'
+'SKIP'
+'c5d8e30b57cbded7128d78e5e8dad811bff97a8d471896812f57fa99ee82cdf3'
+'SKIP'
+'9e557a18f3ca96cc5cc9b62d2e308b993025523b2aca0735248118a928c8c3ff')
+validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg 

+validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard 

+
+# Utilizing LLVM_DISTRIBUTION_COMPONENTS to avoid
+# installing static libraries; inspired by Gentoo
+_get_distribution_components() {
+  local target
+  ninja -t targets | grep -Po 'install-\K.*(?=-stripped:)' | while read -r 
target; do
+case $target in
+  clang-libraries|distribution)
+continue
+;;
+  clang|clangd|clang-*)
+;;
+  clang*|findAllSymbols)
+continue
+;;
+esac
+echo $target
+  done
+}
+
+prepare() {
+  cd "$srcdir/clang-$pkgver.src"
+  mkdir build
+  patch -Np2 -i ../enable-SSP-and-PIE-by-default.patch
+
+  if [[ $pkgver != 10.* ]]; then
+echo "Remove libclangHandleLLVM hack!"
+return 1
+  fi
+  # Remove libclangHandleLLVM; breaks zig (https://reviews.llvm.org/D75579)
+  # (copied from extra/clang; might not apply here but better safe than sorry)
+  sed -i '/add_clang_subdirectory(handle-llvm)/d' \
+tools/clang-fuzzer/CMakeLists.txt
+}
+
+build() {
+  cd "$srcdir/clang-$pkgver.src/build"
+
+  export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+  local cmake_args=(
+-G Ninja
+-DCMAKE_BUILD_TYPE=Release
+-DCMAKE_INSTALL_PREFIX=/usr
+-DPYTHON_EXECUTABLE=/usr/bin/python
+-DLLVM_LIBDIR_SUFFIX=32
+-DCMAKE_C_FLAGS:STRING=-m32
+-DCMAKE_CXX_FLAGS:STRING=-m32
+-DLLVM_CONFIG="/usr/bin/llvm-config32"
+-DLLVM_LINK_LLVM_DYLIB=ON
+-DCLANG_LINK_CLANG_DYLIB=ON
+-DLLVM_ENABLE_RTTI=ON
+-DLLVM_BUILD_TESTS=OFF
+-DLLVM_INCLUDE_DOCS=OFF
+-DLLVM_MAIN_SRC_DIR="$srcdir/llvm-$pkgver.src"
+  )
+
+  cmake .. "${cmake_args[@]}"
+  local distribution_components=$(_get_distribution_components | paste -sd\;)
+  test -n "$distribution_components"
+  cmake_args+=(-DLLVM_DISTRIBUTION_COMPONENTS="$distribution_components")
+
+  cmake .. "${cmake_args[@]}"
+  ninja
+}
+
+package() {
+  cd "$srcdir/clang-$pkgver.src/build"
+
+  DESTDIR="$pkgdir" ninja install-distribution
+  rm -rf "$pkgdir"/usr/{bin,include,libexec,share}
+
+  install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:

Copied: 
lib32-clang/repos/multilib-testing-x86_64/enable-SSP-and-PIE-by-default.patch 
(from rev 664984, lib32-clang/trunk/enable-SSP-and-PIE-by-default.patch)
===
--- multilib-testing-x86_64/enable-SSP-and-PIE-by-default.patch 
(rev 0)
+++ multilib-testing-x86_64/enable-SSP-and-PIE-by-default.patch 2020-07-23 
08:45:09 UTC (rev 664985)
@@ -0,0 +1,336 @@
+From 9641fc2459b07c806c1e4d2a2345213ee6c2bafd Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras 
+Date: Sat, 11 Apr 2020 06:52:09 +0300
+Subject: [PATCH] Enable SSP and PIE by default
+
+This is a minimal set of changes needed to make clang use SSP and PIE by
+default on Arch Linux. Tests that were easy to adjust have been changed
+accordingly; only test/Driver/linux-ld.c has been marked as "expected
+failure" due to the numb

[arch-commits] Commit in lib32-clang/repos (3 files)

2020-04-12 Thread Evangelos Foutras via arch-commits
Date: Monday, April 13, 2020 @ 04:42:27
  Author: foutrelis
Revision: 613610

archrelease: copy trunk to multilib-staging-x86_64

Added:
  lib32-clang/repos/multilib-staging-x86_64/
  lib32-clang/repos/multilib-staging-x86_64/PKGBUILD
(from rev 613609, lib32-clang/trunk/PKGBUILD)
  lib32-clang/repos/multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch
(from rev 613609, lib32-clang/trunk/enable-SSP-and-PIE-by-default.patch)

-+
 PKGBUILD|  103 ++
 enable-SSP-and-PIE-by-default.patch |  336 ++
 2 files changed, 439 insertions(+)

Copied: lib32-clang/repos/multilib-staging-x86_64/PKGBUILD (from rev 613609, 
lib32-clang/trunk/PKGBUILD)
===
--- multilib-staging-x86_64/PKGBUILD(rev 0)
+++ multilib-staging-x86_64/PKGBUILD2020-04-13 04:42:27 UTC (rev 613610)
@@ -0,0 +1,103 @@
+# Maintainer: Evangelos Foutras 
+# Contributor: Jan "heftig" Steffens 
+
+pkgname=lib32-clang
+pkgver=10.0.0
+pkgrel=1
+pkgdesc="C language family frontend for LLVM (32-bit)"
+arch=('x86_64')
+url="https://clang.llvm.org/";
+license=('custom:University of Illinois/NCSA Open Source License')
+depends=('lib32-llvm-libs' 'gcc-multilib')
+makedepends=('lib32-llvm' 'cmake' 'ninja' 'python')
+_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver
+source=($_source_base/clang-$pkgver.src.tar.xz{,.sig}
+$_source_base/llvm-$pkgver.src.tar.xz{,.sig}
+enable-SSP-and-PIE-by-default.patch)
+sha256sums=('885b062b00e903df72631c5f98b9579ed1ed2790f74e5646b4234fa084eacb21'
+'SKIP'
+'df83a44b3a9a71029049ec101fb0077ecbbdf5fe41e395215025779099a98fdf'
+'SKIP'
+'9e557a18f3ca96cc5cc9b62d2e308b993025523b2aca0735248118a928c8c3ff')
+validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg 

+validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard 

+
+# Utilizing LLVM_DISTRIBUTION_COMPONENTS to avoid
+# installing static libraries; inspired by Gentoo
+_get_distribution_components() {
+  local target
+  ninja -t targets | grep -Po 'install-\K.*(?=-stripped:)' | while read -r 
target; do
+case $target in
+  clang-libraries|distribution)
+continue
+;;
+  clang|clangd|clang-*)
+;;
+  clang*|findAllSymbols)
+continue
+;;
+esac
+echo $target
+  done
+}
+
+prepare() {
+  cd "$srcdir/clang-$pkgver.src"
+  mkdir build
+  patch -Np2 -i ../enable-SSP-and-PIE-by-default.patch
+
+  if [[ $pkgver != 10.* ]]; then
+echo "Remove libclangHandleLLVM hack!"
+return 1
+  fi
+  # Remove libclangHandleLLVM; breaks zig (https://reviews.llvm.org/D75579)
+  # (copied from extra/clang; might not apply here but better safe than sorry)
+  sed -i '/add_clang_subdirectory(handle-llvm)/d' \
+tools/clang-fuzzer/CMakeLists.txt
+}
+
+build() {
+  cd "$srcdir/clang-$pkgver.src/build"
+
+  export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+  
+  # Upstream strongly recommends against BUILD_SHARED_LIBS=ON for distro
+  # builds but CLANG_LINK_CLANG_DYLIB=ON is not yet supported by clang's
+  # extra tools. Keep building all libraries as shared and revisit this.
+
+  local cmake_args=(
+-G Ninja
+-DCMAKE_BUILD_TYPE=Release
+-DCMAKE_INSTALL_PREFIX=/usr
+-DPYTHON_EXECUTABLE=/usr/bin/python
+-DLLVM_LIBDIR_SUFFIX=32
+-DCMAKE_C_FLAGS:STRING=-m32
+-DCMAKE_CXX_FLAGS:STRING=-m32
+-DLLVM_CONFIG="/usr/bin/llvm-config32"
+-DLLVM_LINK_LLVM_DYLIB=ON
+-DCLANG_LINK_CLANG_DYLIB=ON
+-DLLVM_ENABLE_RTTI=ON
+-DLLVM_BUILD_TESTS=OFF
+-DLLVM_INCLUDE_DOCS=OFF
+-DLLVM_MAIN_SRC_DIR="$srcdir/llvm-$pkgver.src"
+  )
+
+  cmake .. "${cmake_args[@]}"
+  local distribution_components=$(_get_distribution_components | paste -sd\;)
+  test -n "$distribution_components"
+  cmake_args+=(-DLLVM_DISTRIBUTION_COMPONENTS="$distribution_components")
+
+  cmake .. "${cmake_args[@]}"
+  ninja
+}
+
+package() {
+  cd "$srcdir/clang-$pkgver.src/build"
+
+  DESTDIR="$pkgdir" ninja install-distribution
+  rm -rf "$pkgdir"/usr/{bin,include,libexec,share}
+
+  install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:

Copied: 
lib32-clang/repos/multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 
(from rev 613609, lib32-clang/trunk/enable-SSP-and-PIE-by-default.patch)
===
--- multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 
(rev 0)
+++ multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 2020-04-13 
04:42:27 UTC (rev 613610)
@@ -0,0 +1,336 @@
+From 9641fc2459b07c806c1e4d2a2345213ee6c2bafd Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras 
+Date: Sat, 11 Apr 2020 06:52:09 +0300
+Subject: [PATCH] Enable SSP and PIE by default
+

[arch-commits] Commit in lib32-clang/repos (3 files)

2019-03-25 Thread Evangelos Foutras via arch-commits
Date: Tuesday, March 26, 2019 @ 01:40:23
  Author: foutrelis
Revision: 443527

archrelease: copy trunk to multilib-staging-x86_64

Added:
  lib32-clang/repos/multilib-staging-x86_64/
  lib32-clang/repos/multilib-staging-x86_64/PKGBUILD
(from rev 443526, lib32-clang/trunk/PKGBUILD)
  lib32-clang/repos/multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch
(from rev 443526, lib32-clang/trunk/enable-SSP-and-PIE-by-default.patch)

-+
 PKGBUILD|   61 +++
 enable-SSP-and-PIE-by-default.patch |  289 ++
 2 files changed, 350 insertions(+)

Copied: lib32-clang/repos/multilib-staging-x86_64/PKGBUILD (from rev 443526, 
lib32-clang/trunk/PKGBUILD)
===
--- multilib-staging-x86_64/PKGBUILD(rev 0)
+++ multilib-staging-x86_64/PKGBUILD2019-03-26 01:40:23 UTC (rev 443527)
@@ -0,0 +1,61 @@
+# Maintainer: Evangelos Foutras 
+# Contributor: Jan "heftig" Steffens 
+
+pkgname=lib32-clang
+pkgver=8.0.0
+pkgrel=1
+pkgdesc="C language family frontend for LLVM"
+arch=('x86_64')
+url="https://clang.llvm.org/";
+license=('custom:University of Illinois/NCSA Open Source License')
+depends=('lib32-llvm-libs' 'gcc-multilib')
+makedepends=('lib32-llvm' 'cmake' 'ninja' 'python')
+source=(https://releases.llvm.org/$pkgver/cfe-$pkgver.src.tar.xz{,.sig}
+https://releases.llvm.org/$pkgver/llvm-$pkgver.src.tar.xz{,.sig}
+enable-SSP-and-PIE-by-default.patch)
+sha256sums=('084c115aab0084e63b23eee8c233abb6739c399e29966eaeccfc6e088e0b736b'
+'SKIP'
+'8872be1b12c61450cacc82b3d153eab02be2546ef34fa3580ed14137bb26224c'
+'SKIP'
+'58f86da25eb230ed6d423b5b61870cbf3bef88f38103ca676a2c7f34b2372171')
+validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg 

+validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard 

+
+prepare() {
+  cd "$srcdir/cfe-$pkgver.src"
+  mkdir build
+  patch -Np1 -i ../enable-SSP-and-PIE-by-default.patch
+}
+
+build() {
+  cd "$srcdir/cfe-$pkgver.src/build"
+
+  export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+  
+  cmake .. -G Ninja \
+-DCMAKE_BUILD_TYPE=Release \
+-DCMAKE_INSTALL_PREFIX=/usr \
+-DPYTHON_EXECUTABLE=/usr/bin/python \
+-DLLVM_LIBDIR_SUFFIX=32 \
+-DCMAKE_C_FLAGS:STRING=-m32 \
+-DCMAKE_CXX_FLAGS:STRING=-m32 \
+-DLLVM_CONFIG="/usr/bin/llvm-config32" \
+-DBUILD_SHARED_LIBS=ON \
+-DLLVM_LINK_LLVM_DYLIB=ON \
+-DLLVM_ENABLE_RTTI=ON \
+-DLLVM_BUILD_TESTS=ON \
+-DLLVM_INCLUDE_DOCS=OFF \
+-DLLVM_MAIN_SRC_DIR="$srcdir/llvm-$pkgver.src"
+  ninja
+}
+
+package() {
+  cd "$srcdir/cfe-$pkgver.src/build"
+
+  DESTDIR="$pkgdir" ninja install
+  rm -rf "$pkgdir"/usr/{bin,include,libexec,share}
+
+  install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:

Copied: 
lib32-clang/repos/multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 
(from rev 443526, lib32-clang/trunk/enable-SSP-and-PIE-by-default.patch)
===
--- multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 
(rev 0)
+++ multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 2019-03-26 
01:40:23 UTC (rev 443527)
@@ -0,0 +1,289 @@
+From a076711d030ca5777465dab9f11c0639478a5cc8 Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras 
+Date: Tue, 26 Mar 2019 01:35:50 +0200
+Subject: [PATCH] Enable SSP and PIE by default
+
+This is a minimal set of changes needed to make clang use SSP and PIE by
+default on Arch Linux. Tests that were easy to adjust have been changed
+accordingly; only test/Driver/linux-ld.c has been marked as "expected
+failure" due to the number of changes it would require (mostly replacing
+crtbegin.o with crtbeginS.o).
+
+Doing so is needed in order to align clang with the new default GCC
+behavior in Arch which generates PIE executables by default and also
+defaults to -fstack-protector-strong. It is not meant to be a long term
+solution, but a simple temporary fix.
+
+Hopefully these changes will be obsoleted by the introduction upstream
+of a compile-time option (https://bugs.llvm.org/show_bug.cgi?id=13410)
+---
+ lib/Driver/ToolChains/Linux.cpp | 14 --
+ lib/Driver/ToolChains/Linux.h   |  1 +
+ test/Driver/cross-linux.c   | 16 
+ test/Driver/env.c   |  2 +-
+ test/Driver/fsanitize.c | 14 +++---
+ test/Driver/gcc-toolchain.cpp   |  2 +-
+ test/Driver/hexagon-toolchain-elf.c |  2 +-
+ test/Driver/linux-as.c  |  4 ++--
+ test/Driver/linux-ld.c  |  2 ++
+ test/Driver/ppc-abi.c   |  4 ++--
+ test/Driver/riscv32-toolchain.c |  4 ++--
+ test/Driver/stack-protector.c   |  4 ++--
+ 12 files changed, 41 insertions(+), 28 deletions(-

[arch-commits] Commit in lib32-clang/repos (3 files)

2018-12-16 Thread Evangelos Foutras via arch-commits
Date: Sunday, December 16, 2018 @ 15:51:42
  Author: foutrelis
Revision: 416454

archrelease: copy trunk to multilib-testing-x86_64

Added:
  lib32-clang/repos/multilib-testing-x86_64/
  lib32-clang/repos/multilib-testing-x86_64/PKGBUILD
(from rev 416453, lib32-clang/trunk/PKGBUILD)
  lib32-clang/repos/multilib-testing-x86_64/enable-SSP-and-PIE-by-default.patch
(from rev 416453, lib32-clang/trunk/enable-SSP-and-PIE-by-default.patch)

-+
 PKGBUILD|   61 +++
 enable-SSP-and-PIE-by-default.patch |  284 ++
 2 files changed, 345 insertions(+)

Copied: lib32-clang/repos/multilib-testing-x86_64/PKGBUILD (from rev 416453, 
lib32-clang/trunk/PKGBUILD)
===
--- multilib-testing-x86_64/PKGBUILD(rev 0)
+++ multilib-testing-x86_64/PKGBUILD2018-12-16 15:51:42 UTC (rev 416454)
@@ -0,0 +1,61 @@
+# Maintainer: Evangelos Foutras 
+# Contributor: Jan "heftig" Steffens 
+
+pkgname=lib32-clang
+pkgver=7.0.1
+pkgrel=1
+pkgdesc="C language family frontend for LLVM"
+arch=('x86_64')
+url="https://clang.llvm.org/";
+license=('custom:University of Illinois/NCSA Open Source License')
+depends=('lib32-llvm-libs' 'gcc-multilib')
+makedepends=('lib32-llvm' 'cmake' 'ninja' 'python')
+source=(https://releases.llvm.org/$pkgver/cfe-$pkgver.src.tar.xz{,.sig}
+https://releases.llvm.org/$pkgver/llvm-$pkgver.src.tar.xz{,.sig}
+enable-SSP-and-PIE-by-default.patch)
+sha256sums=('a45b62dde5d7d5fdcdfa876b0af92f164d434b06e9e89b5d0b1cbc65dfe3f418'
+'SKIP'
+'a38dfc4db47102ec79dcc2aa61e93722c5f6f06f0a961073bd84b78fb949419b'
+'SKIP'
+'8dd3938afb93a051acf69373f7a4e1eb7cf9dd28d8e334c98d30a531d4af0181')
+validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg 

+validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard 

+
+prepare() {
+  cd "$srcdir/cfe-$pkgver.src"
+  mkdir build
+  patch -Np1 -i ../enable-SSP-and-PIE-by-default.patch
+}
+
+build() {
+  cd "$srcdir/cfe-$pkgver.src/build"
+
+  export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+  
+  cmake .. -G Ninja \
+-DCMAKE_BUILD_TYPE=Release \
+-DCMAKE_INSTALL_PREFIX=/usr \
+-DPYTHON_EXECUTABLE=/usr/bin/python \
+-DLLVM_LIBDIR_SUFFIX=32 \
+-DCMAKE_C_FLAGS:STRING=-m32 \
+-DCMAKE_CXX_FLAGS:STRING=-m32 \
+-DLLVM_CONFIG="/usr/bin/llvm-config32" \
+-DBUILD_SHARED_LIBS=ON \
+-DLLVM_LINK_LLVM_DYLIB=ON \
+-DLLVM_ENABLE_RTTI=ON \
+-DLLVM_BUILD_TESTS=ON \
+-DLLVM_INCLUDE_DOCS=OFF \
+-DLLVM_MAIN_SRC_DIR="$srcdir/llvm-$pkgver.src"
+  ninja
+}
+
+package() {
+  cd "$srcdir/cfe-$pkgver.src/build"
+
+  DESTDIR="$pkgdir" ninja install
+  rm -rf "$pkgdir"/usr/{bin,include,libexec,share}
+
+  install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:

Copied: 
lib32-clang/repos/multilib-testing-x86_64/enable-SSP-and-PIE-by-default.patch 
(from rev 416453, lib32-clang/trunk/enable-SSP-and-PIE-by-default.patch)
===
--- multilib-testing-x86_64/enable-SSP-and-PIE-by-default.patch 
(rev 0)
+++ multilib-testing-x86_64/enable-SSP-and-PIE-by-default.patch 2018-12-16 
15:51:42 UTC (rev 416454)
@@ -0,0 +1,284 @@
+From ece245fe717765630790da501a3d64f5c09a1e09 Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras 
+Date: Thu, 20 Sep 2018 06:20:28 +0300
+Subject: [PATCH] Enable SSP and PIE by default
+
+This is a minimal set of changes needed to make clang use SSP and PIE by
+default on Arch Linux. Tests that were easy to adjust have been changed
+accordingly; only test/Driver/linux-ld.c has been marked as "expected
+failure" due to the number of changes it would require (mostly replacing
+crtbegin.o with crtbeginS.o).
+
+Doing so is needed in order to align clang with the new default GCC
+behavior in Arch which generates PIE executables by default and also
+defaults to -fstack-protector-strong. It is not meant to be a long term
+solution, but a simple temporary fix.
+
+Hopefully these changes will be obsoleted by the introduction upstream
+of a compile-time option (https://bugs.llvm.org/show_bug.cgi?id=13410)
+---
+ lib/Driver/ToolChains/Linux.cpp | 14 --
+ lib/Driver/ToolChains/Linux.h   |  1 +
+ test/Driver/clang-offload-bundler.c |  2 +-
+ test/Driver/cross-linux.c   | 16 
+ test/Driver/env.c   |  2 +-
+ test/Driver/fsanitize.c | 14 +++---
+ test/Driver/gcc-toolchain.cpp   |  2 +-
+ test/Driver/hexagon-toolchain-elf.c |  2 +-
+ test/Driver/linux-as.c  |  4 ++--
+ test/Driver/linux-ld.c  |  2 ++
+ test/Driver/riscv32-toolchain.c |  4 ++--
+ test/Driver/stack-protector.c   |  4 ++--
+ 12 files changed, 40 insertions(+), 27 deletions(-

[arch-commits] Commit in lib32-clang/repos (3 files)

2018-09-20 Thread Evangelos Foutras via arch-commits
Date: Thursday, September 20, 2018 @ 14:43:22
  Author: foutrelis
Revision: 383686

archrelease: copy trunk to multilib-staging-x86_64

Added:
  lib32-clang/repos/multilib-staging-x86_64/
  lib32-clang/repos/multilib-staging-x86_64/PKGBUILD
(from rev 383685, lib32-clang/trunk/PKGBUILD)
  lib32-clang/repos/multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch
(from rev 383685, lib32-clang/trunk/enable-SSP-and-PIE-by-default.patch)

-+
 PKGBUILD|   61 +++
 enable-SSP-and-PIE-by-default.patch |  284 ++
 2 files changed, 345 insertions(+)

Copied: lib32-clang/repos/multilib-staging-x86_64/PKGBUILD (from rev 383685, 
lib32-clang/trunk/PKGBUILD)
===
--- multilib-staging-x86_64/PKGBUILD(rev 0)
+++ multilib-staging-x86_64/PKGBUILD2018-09-20 14:43:22 UTC (rev 383686)
@@ -0,0 +1,61 @@
+# Maintainer: Evangelos Foutras 
+# Contributor: Jan "heftig" Steffens 
+
+pkgname=lib32-clang
+pkgver=7.0.0
+pkgrel=1
+pkgdesc="C language family frontend for LLVM"
+arch=('x86_64')
+url="https://clang.llvm.org/";
+license=('custom:University of Illinois/NCSA Open Source License')
+depends=('lib32-llvm-libs' 'gcc-multilib')
+makedepends=('lib32-llvm' 'cmake' 'ninja' 'python')
+source=(https://releases.llvm.org/$pkgver/cfe-$pkgver.src.tar.xz{,.sig}
+https://releases.llvm.org/$pkgver/llvm-$pkgver.src.tar.xz{,.sig}
+enable-SSP-and-PIE-by-default.patch)
+sha256sums=('550212711c752697d2f82c648714a7221b1207fd9441543ff4aa9e3be45bba55'
+'SKIP'
+'8bc1f844e6cbde1b652c19c1edebc1864456fd9c78b8c1bea038e51b363fe222'
+'SKIP'
+'8dd3938afb93a051acf69373f7a4e1eb7cf9dd28d8e334c98d30a531d4af0181')
+validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg 

+validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard 

+
+prepare() {
+  cd "$srcdir/cfe-$pkgver.src"
+  mkdir build
+  patch -Np1 -i ../enable-SSP-and-PIE-by-default.patch
+}
+
+build() {
+  cd "$srcdir/cfe-$pkgver.src/build"
+
+  export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+  
+  cmake .. -G Ninja \
+-DCMAKE_BUILD_TYPE=Release \
+-DCMAKE_INSTALL_PREFIX=/usr \
+-DPYTHON_EXECUTABLE=/usr/bin/python \
+-DLLVM_LIBDIR_SUFFIX=32 \
+-DCMAKE_C_FLAGS:STRING=-m32 \
+-DCMAKE_CXX_FLAGS:STRING=-m32 \
+-DLLVM_CONFIG="/usr/bin/llvm-config32" \
+-DBUILD_SHARED_LIBS=ON \
+-DLLVM_LINK_LLVM_DYLIB=ON \
+-DLLVM_ENABLE_RTTI=ON \
+-DLLVM_BUILD_TESTS=ON \
+-DLLVM_INCLUDE_DOCS=OFF \
+-DLLVM_MAIN_SRC_DIR="$srcdir/llvm-$pkgver.src"
+  ninja
+}
+
+package() {
+  cd "$srcdir/cfe-$pkgver.src/build"
+
+  DESTDIR="$pkgdir" ninja install
+  rm -rf "$pkgdir"/usr/{bin,include,libexec,share}
+
+  install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:

Copied: 
lib32-clang/repos/multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 
(from rev 383685, lib32-clang/trunk/enable-SSP-and-PIE-by-default.patch)
===
--- multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 
(rev 0)
+++ multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 2018-09-20 
14:43:22 UTC (rev 383686)
@@ -0,0 +1,284 @@
+From ece245fe717765630790da501a3d64f5c09a1e09 Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras 
+Date: Thu, 20 Sep 2018 06:20:28 +0300
+Subject: [PATCH] Enable SSP and PIE by default
+
+This is a minimal set of changes needed to make clang use SSP and PIE by
+default on Arch Linux. Tests that were easy to adjust have been changed
+accordingly; only test/Driver/linux-ld.c has been marked as "expected
+failure" due to the number of changes it would require (mostly replacing
+crtbegin.o with crtbeginS.o).
+
+Doing so is needed in order to align clang with the new default GCC
+behavior in Arch which generates PIE executables by default and also
+defaults to -fstack-protector-strong. It is not meant to be a long term
+solution, but a simple temporary fix.
+
+Hopefully these changes will be obsoleted by the introduction upstream
+of a compile-time option (https://bugs.llvm.org/show_bug.cgi?id=13410)
+---
+ lib/Driver/ToolChains/Linux.cpp | 14 --
+ lib/Driver/ToolChains/Linux.h   |  1 +
+ test/Driver/clang-offload-bundler.c |  2 +-
+ test/Driver/cross-linux.c   | 16 
+ test/Driver/env.c   |  2 +-
+ test/Driver/fsanitize.c | 14 +++---
+ test/Driver/gcc-toolchain.cpp   |  2 +-
+ test/Driver/hexagon-toolchain-elf.c |  2 +-
+ test/Driver/linux-as.c  |  4 ++--
+ test/Driver/linux-ld.c  |  2 ++
+ test/Driver/riscv32-toolchain.c |  4 ++--
+ test/Driver/stack-protector.c   |  4 ++--
+ 12 files changed, 40 insertions(+), 27 deletion

[arch-commits] Commit in lib32-clang/repos (3 files)

2018-03-16 Thread Laurent Carlier via arch-commits
Date: Friday, March 16, 2018 @ 17:14:57
  Author: lcarlier
Revision: 308897

archrelease: copy trunk to multilib-staging-x86_64

Added:
  lib32-clang/repos/multilib-staging-x86_64/
  lib32-clang/repos/multilib-staging-x86_64/PKGBUILD
(from rev 308896, lib32-clang/trunk/PKGBUILD)
  lib32-clang/repos/multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch
(from rev 308896, lib32-clang/trunk/enable-SSP-and-PIE-by-default.patch)

-+
 PKGBUILD|   62 
 enable-SSP-and-PIE-by-default.patch |  257 ++
 2 files changed, 319 insertions(+)

Copied: lib32-clang/repos/multilib-staging-x86_64/PKGBUILD (from rev 308896, 
lib32-clang/trunk/PKGBUILD)
===
--- multilib-staging-x86_64/PKGBUILD(rev 0)
+++ multilib-staging-x86_64/PKGBUILD2018-03-16 17:14:57 UTC (rev 308897)
@@ -0,0 +1,62 @@
+# $Id$
+# Maintainer: Evangelos Foutras 
+# Contributor: Jan "heftig" Steffens 
+
+pkgname=lib32-clang
+pkgver=6.0.0
+pkgrel=1
+pkgdesc="C language family frontend for LLVM"
+arch=('x86_64')
+url="https://clang.llvm.org/";
+license=('custom:University of Illinois/NCSA Open Source License')
+depends=('lib32-llvm-libs' 'gcc-multilib')
+makedepends=('lib32-llvm' 'cmake' 'ninja' 'python')
+source=(https://releases.llvm.org/$pkgver/cfe-$pkgver.src.tar.xz{,.sig}
+https://releases.llvm.org/$pkgver/llvm-$pkgver.src.tar.xz{,.sig}
+enable-SSP-and-PIE-by-default.patch)
+sha256sums=('e07d6dd8d9ef196cfc8e8bb131cbd6a2ed0b1caf1715f9d05b0f0eeaddb6df32'
+'SKIP'
+'1ff53c915b4e761ef400b803f07261ade637b0c269d99569f18040f3dcee4408'
+'SKIP'
+'28d38b7f4bcaa0c974f8c48d732a0db309ea89ffa901c39de90725ae857946c1')
+validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg 

+validpgpkeys+=('11E521D646982372EB577A1F8F0871F202119294') # Tom Stellard 

+
+prepare() {
+  cd "$srcdir/cfe-$pkgver.src"
+  mkdir build
+  patch -Np1 -i ../enable-SSP-and-PIE-by-default.patch
+}
+
+build() {
+  cd "$srcdir/cfe-$pkgver.src/build"
+
+  export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+  
+  cmake .. -G Ninja \
+-DCMAKE_BUILD_TYPE=Release \
+-DCMAKE_INSTALL_PREFIX=/usr \
+-DPYTHON_EXECUTABLE=/usr/bin/python \
+-DLLVM_LIBDIR_SUFFIX=32 \
+-DCMAKE_C_FLAGS:STRING=-m32 \
+-DCMAKE_CXX_FLAGS:STRING=-m32 \
+-DLLVM_CONFIG="/usr/bin/llvm-config32" \
+-DBUILD_SHARED_LIBS=ON \
+-DLLVM_LINK_LLVM_DYLIB=ON \
+-DLLVM_ENABLE_RTTI=ON \
+-DLLVM_BUILD_TESTS=ON \
+-DLLVM_INCLUDE_DOCS=OFF \
+-DLLVM_MAIN_SRC_DIR="$srcdir/llvm-$pkgver.src"
+  ninja
+}
+
+package() {
+  cd "$srcdir/cfe-$pkgver.src/build"
+
+  DESTDIR="$pkgdir" ninja install
+  rm -rf "$pkgdir"/usr/{bin,include,libexec,share}
+
+  install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:

Copied: 
lib32-clang/repos/multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 
(from rev 308896, lib32-clang/trunk/enable-SSP-and-PIE-by-default.patch)
===
--- multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 
(rev 0)
+++ multilib-staging-x86_64/enable-SSP-and-PIE-by-default.patch 2018-03-16 
17:14:57 UTC (rev 308897)
@@ -0,0 +1,257 @@
+From b0307536e769c8ce11dbfa1956d617e8fc9366a7 Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras 
+Date: Thu, 8 Mar 2018 18:38:53 +0200
+Subject: [PATCH] Enable SSP and PIE by default
+
+This is a minimal set of changes needed to make clang use SSP and PIE by
+default on Arch Linux. Tests that were easy to adjust have been changed
+accordingly; only test/Driver/linux-ld.c has been marked as "expected
+failure" due to the number of changes it would require (mostly replacing
+crtbegin.o with crtbeginS.o).
+
+Doing so is needed in order to align clang with the new default GCC
+behavior in Arch which generates PIE executables by default and also
+defaults to -fstack-protector-strong. It is not meant to be a long term
+solution, but a simple temporary fix.
+
+Hopefully these changes will be obsoleted by the introduction upstream
+of a compile-time option (https://bugs.llvm.org/show_bug.cgi?id=13410)
+---
+ lib/Driver/ToolChains/Linux.cpp | 14 --
+ lib/Driver/ToolChains/Linux.h   |  1 +
+ test/Driver/cross-linux.c   | 16 
+ test/Driver/env.c   |  2 +-
+ test/Driver/fsanitize.c | 18 ++
+ test/Driver/gcc-toolchain.cpp   |  2 +-
+ test/Driver/hexagon-toolchain-elf.c |  2 +-
+ test/Driver/linux-as.c  |  4 ++--
+ test/Driver/linux-ld.c  |  2 ++
+ test/Driver/stack-protector.c   |  4 ++--
+ 10 files changed, 40 insertions(+), 25 deletions(-)
+
+diff --git a/lib/Driver/ToolChains/Linux.cpp b/lib/Driver/ToolChains/Linux.cpp
+i