diff options
-rw-r--r-- | .SRCINFO | 34 | ||||
-rw-r--r-- | PKGBUILD | 6 | ||||
-rw-r--r-- | enable-SSP-and-PIE-by-default.patch | 56 |
3 files changed, 58 insertions, 38 deletions
@@ -1,5 +1,5 @@ pkgbase = llvm-git - pkgver = 10.0.0_r330761.aafe01fed4a + pkgver = 10.0.0_r330902.86cdf74dc87 pkgrel = 1 url = https://llvm.org/ arch = x86_64 @@ -25,31 +25,31 @@ pkgbase = llvm-git source = enable-SSP-and-PIE-by-default.patch md5sums = SKIP md5sums = 295c343dcd457dc534662f011d7cff1a - md5sums = 5e9b3822e6b7de45f0ecb0ad71b3f7d3 + md5sums = e52fc5ab45fbd9c578803a7dab92c552 sha512sums = SKIP sha512sums = 75e743dea28b280943b3cc7f8bbb871b57d110a7f2b9da2e6845c1c36bf170dd883fca54e463f5f49e0c3effe07fbd0db0f8cf5a12a2469d3f792af21a73fcdd - sha512sums = 2fdbae0b62d33411beaf191920ff280f83fa80fd505a71077671027f27ed8c61c5867de3e6ee6f26734c7605037e86796404212182f8ffa71f4af6ed2c316a40 + sha512sums = de5dfed73b824c6de8820a90157c8709a5c4ea36a4044b097e0067841f696b9bd507ef29bab1dd321efcf3d103fc3cd968f385c90ad37c9ddfcfb5ffe1a8881a pkgname = llvm-git pkgdesc = LLVM development version. includes clang and many other tools - depends = llvm-libs-git=10.0.0_r330761.aafe01fed4a-1 + depends = llvm-libs-git=10.0.0_r330902.86cdf74dc87-1 depends = perl optdepends = python: for scripts optdepends = python-setuptools: for using lit (LLVM Integrated Tester) optdepends = ocaml: for ocaml support provides = aur-llvm-git - provides = compiler-rt-git=10.0.0_r330761.aafe01fed4a-1 - provides = clang-git=10.0.0_r330761.aafe01fed4a-1 - provides = lld-git=10.0.0_r330761.aafe01fed4a-1 - provides = lldb-git=10.0.0_r330761.aafe01fed4a-1 - provides = polly-git=10.0.0_r330761.aafe01fed4a-1 - provides = llvm-ocaml-git=10.0.0_r330761.aafe01fed4a-1 - provides = compiler-rt=10.0.0_r330761.aafe01fed4a-1 - provides = clang=10.0.0_r330761.aafe01fed4a-1 - provides = lld=10.0.0_r330761.aafe01fed4a-1 - provides = lldb=10.0.0_r330761.aafe01fed4a-1 - provides = polly=10.0.0_r330761.aafe01fed4a-1 - provides = llvm-ocaml=10.0.0_r330761.aafe01fed4a-1 + provides = compiler-rt-git=10.0.0_r330902.86cdf74dc87-1 + provides = clang-git=10.0.0_r330902.86cdf74dc87-1 + provides = lld-git=10.0.0_r330902.86cdf74dc87-1 + provides = lldb-git=10.0.0_r330902.86cdf74dc87-1 + provides = polly-git=10.0.0_r330902.86cdf74dc87-1 + provides = llvm-ocaml-git=10.0.0_r330902.86cdf74dc87-1 + provides = compiler-rt=10.0.0_r330902.86cdf74dc87-1 + provides = clang=10.0.0_r330902.86cdf74dc87-1 + provides = lld=10.0.0_r330902.86cdf74dc87-1 + provides = lldb=10.0.0_r330902.86cdf74dc87-1 + provides = polly=10.0.0_r330902.86cdf74dc87-1 + provides = llvm-ocaml=10.0.0_r330902.86cdf74dc87-1 conflicts = llvm conflicts = compiler-rt conflicts = clang @@ -67,6 +67,6 @@ pkgname = llvm-libs-git depends = ncurses depends = libxml2 provides = aur-llvm-libs-git - provides = llvm-libs=10.0.0_r330761.aafe01fed4a-1 + provides = llvm-libs=10.0.0_r330902.86cdf74dc87-1 conflicts = llvm-libs @@ -15,7 +15,7 @@ pkgname=('llvm-git' 'llvm-libs-git') -pkgver=10.0.0_r330761.aafe01fed4a +pkgver=10.0.0_r330902.86cdf74dc87 pkgrel=1 arch=('x86_64') url="https://llvm.org/" @@ -30,10 +30,10 @@ source=("llvm-project::git+https://github.com/llvm/llvm-project.git" md5sums=('SKIP' '295c343dcd457dc534662f011d7cff1a' - '5e9b3822e6b7de45f0ecb0ad71b3f7d3') + 'e52fc5ab45fbd9c578803a7dab92c552') sha512sums=('SKIP' '75e743dea28b280943b3cc7f8bbb871b57d110a7f2b9da2e6845c1c36bf170dd883fca54e463f5f49e0c3effe07fbd0db0f8cf5a12a2469d3f792af21a73fcdd' - '2fdbae0b62d33411beaf191920ff280f83fa80fd505a71077671027f27ed8c61c5867de3e6ee6f26734c7605037e86796404212182f8ffa71f4af6ed2c316a40') + 'de5dfed73b824c6de8820a90157c8709a5c4ea36a4044b097e0067841f696b9bd507ef29bab1dd321efcf3d103fc3cd968f385c90ad37c9ddfcfb5ffe1a8881a') options=('staticlibs') # NINJAFLAGS is an env var used to pass commandline options to ninja diff --git a/enable-SSP-and-PIE-by-default.patch b/enable-SSP-and-PIE-by-default.patch index 2c8bd20f5dee..351dc1b090f9 100644 --- a/enable-SSP-and-PIE-by-default.patch +++ b/enable-SSP-and-PIE-by-default.patch @@ -1,6 +1,6 @@ -From a076711d030ca5777465dab9f11c0639478a5cc8 Mon Sep 17 00:00:00 2001 +From 6a5a1f705fe44ab47ad8b52c1096451caa951b5c Mon Sep 17 00:00:00 2001 From: Evangelos Foutras <evangelos@foutrelis.com> -Date: Tue, 26 Mar 2019 01:35:50 +0200 +Date: Sat, 21 Sep 2019 02:36:46 +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 @@ -28,14 +28,15 @@ of a compile-time option (https://bugs.llvm.org/show_bug.cgi?id=13410) test/Driver/linux-ld.c | 2 ++ test/Driver/ppc-abi.c | 4 ++-- test/Driver/riscv32-toolchain.c | 4 ++-- + test/Driver/riscv64-toolchain.c | 4 ++-- test/Driver/stack-protector.c | 4 ++-- - 12 files changed, 41 insertions(+), 28 deletions(-) + 13 files changed, 43 insertions(+), 30 deletions(-) diff --git a/lib/Driver/ToolChains/Linux.cpp b/lib/Driver/ToolChains/Linux.cpp -index 65ab9b2daf..5b757b8028 100644 +index d900508ad9..3e68d50dac 100644 --- a/lib/Driver/ToolChains/Linux.cpp +++ b/lib/Driver/ToolChains/Linux.cpp -@@ -968,8 +968,18 @@ void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs, +@@ -972,8 +972,18 @@ void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs, } bool Linux::isPIEDefault() const { @@ -55,14 +56,14 @@ index 65ab9b2daf..5b757b8028 100644 + return 2; } - bool Linux::IsMathErrnoDefault() const { + bool Linux::isNoExecStackDefault() const { diff --git a/lib/Driver/ToolChains/Linux.h b/lib/Driver/ToolChains/Linux.h -index 4a662cb4b4..4f369c6090 100644 +index 4c61994691..c60a50cb27 100644 --- a/lib/Driver/ToolChains/Linux.h +++ b/lib/Driver/ToolChains/Linux.h @@ -40,6 +40,7 @@ public: - CXXStdlibType GetDefaultCXXStdlibType() const override; bool isPIEDefault() const override; + bool isNoExecStackDefault() const override; bool IsMathErrnoDefault() const override; + unsigned GetDefaultStackProtectorLevel(bool KernelOrKext) const override; SanitizerMask getSupportedSanitizers() const override; @@ -130,10 +131,10 @@ index 0371bc91c4..ea89f52512 100644 // CHECK-LD-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/lib" // CHECK-LD-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../.." diff --git a/test/Driver/fsanitize.c b/test/Driver/fsanitize.c -index db88872399..76af9bd8fe 100644 +index 2896eda5aa..45a1873ace 100644 --- a/test/Driver/fsanitize.c +++ b/test/Driver/fsanitize.c -@@ -331,15 +331,15 @@ +@@ -318,15 +318,15 @@ // RUN: %clang -target x86_64-linux-gnu -fsanitize=vptr -fno-sanitize=vptr -fsanitize=undefined,address %s -### 2>&1 // OK @@ -153,7 +154,7 @@ index db88872399..76af9bd8fe 100644 // CHECK-NO-PIE-NOT: "-pie" // CHECK-NO-PIE: "-mrelocation-model" "static" -@@ -687,12 +687,12 @@ +@@ -645,12 +645,12 @@ // RUN: %clang -fno-sanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NOSP // NOSP-NOT: "-fsanitize=safe-stack" @@ -195,7 +196,7 @@ index a7eeca0fdb..32f648372e 100644 // CHECK042-NEXT: llvm-mc // CHECK042: "-gpsize=8" diff --git a/test/Driver/linux-as.c b/test/Driver/linux-as.c -index a9335ebf71..a72041865b 100644 +index 77ac05f309..cb474f3289 100644 --- a/test/Driver/linux-as.c +++ b/test/Driver/linux-as.c @@ -164,7 +164,7 @@ @@ -217,7 +218,7 @@ index a9335ebf71..a72041865b 100644 // CHECK-SPARCV9PIC: as // CHECK-SPARCV9PIC: -64 diff --git a/test/Driver/linux-ld.c b/test/Driver/linux-ld.c -index 3ab81be490..fd6b67dd9a 100644 +index 70fc178c56..b52c84ce85 100644 --- a/test/Driver/linux-ld.c +++ b/test/Driver/linux-ld.c @@ -1,3 +1,5 @@ @@ -227,7 +228,7 @@ index 3ab81be490..fd6b67dd9a 100644 // sysroot to make these tests independent of the host system. // diff --git a/test/Driver/ppc-abi.c b/test/Driver/ppc-abi.c -index a82a01de27..35de94a4ad 100644 +index fdcf45da29..cbd1106b7d 100644 --- a/test/Driver/ppc-abi.c +++ b/test/Driver/ppc-abi.c @@ -26,11 +26,11 @@ @@ -245,7 +246,7 @@ index a82a01de27..35de94a4ad 100644 // CHECK-ELFv2-BE: "-mrelocation-model" "pic" "-pic-level" "2" // CHECK-ELFv2-BE: "-target-abi" "elfv2" diff --git a/test/Driver/riscv32-toolchain.c b/test/Driver/riscv32-toolchain.c -index 9e8af3a8ff..171392d172 100644 +index 117c773ec9..9fffbf2aaf 100644 --- a/test/Driver/riscv32-toolchain.c +++ b/test/Driver/riscv32-toolchain.c @@ -78,7 +78,7 @@ @@ -266,6 +267,28 @@ index 9e8af3a8ff..171392d172 100644 // C-RV32-LINUX-MULTI-ILP32D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib32/ilp32d" // C-RV32-LINUX-MULTI-ILP32D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/lib32/ilp32d" // C-RV32-LINUX-MULTI-ILP32D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/usr/lib32/ilp32d" +diff --git a/test/Driver/riscv64-toolchain.c b/test/Driver/riscv64-toolchain.c +index 3d574947c6..20e3dc1556 100644 +--- a/test/Driver/riscv64-toolchain.c ++++ b/test/Driver/riscv64-toolchain.c +@@ -78,7 +78,7 @@ + // C-RV64-LINUX-MULTI-LP64: "--sysroot={{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot" + // C-RV64-LINUX-MULTI-LP64: "-m" "elf64lriscv" + // C-RV64-LINUX-MULTI-LP64: "-dynamic-linker" "/lib/ld-linux-riscv64-lp64.so.1" +-// C-RV64-LINUX-MULTI-LP64: "{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib64/lp64{{/|\\\\}}crtbegin.o" ++// C-RV64-LINUX-MULTI-LP64: "crtbeginS.o" + // C-RV64-LINUX-MULTI-LP64: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib64/lp64" + // C-RV64-LINUX-MULTI-LP64: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/lib64/lp64" + // C-RV64-LINUX-MULTI-LP64: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/usr/lib64/lp64" +@@ -94,7 +94,7 @@ + // C-RV64-LINUX-MULTI-LP64D: "--sysroot={{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot" + // C-RV64-LINUX-MULTI-LP64D: "-m" "elf64lriscv" + // C-RV64-LINUX-MULTI-LP64D: "-dynamic-linker" "/lib/ld-linux-riscv64-lp64d.so.1" +-// C-RV64-LINUX-MULTI-LP64D: "{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib64/lp64d{{/|\\\\}}crtbegin.o" ++// C-RV64-LINUX-MULTI-LP64D: "crtbeginS.o" + // C-RV64-LINUX-MULTI-LP64D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib64/lp64d" + // C-RV64-LINUX-MULTI-LP64D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/lib64/lp64d" + // C-RV64-LINUX-MULTI-LP64D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/usr/lib64/lp64d" diff --git a/test/Driver/stack-protector.c b/test/Driver/stack-protector.c index a3e40b50ee..dfffe0d6cf 100644 --- a/test/Driver/stack-protector.c @@ -284,6 +307,3 @@ index a3e40b50ee..dfffe0d6cf 100644 // SSP-BUF: "-stack-protector-buffer-size" "16" // RUN: %clang -target i386-pc-openbsd -### %s 2>&1 | FileCheck %s -check-prefix=OPENBSD --- -2.21.0 - |