[arch-commits] Commit in lib32-clang/repos (3 files)
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)
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)
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)
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)
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)
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)
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