[arch-commits] Commit in llvm/trunk (3 files)

Evangelos Foutras foutrelis at archlinux.org
Tue Jul 11 11:06:18 UTC 2017


    Date: Tuesday, July 11, 2017 @ 11:06:16
  Author: foutrelis
Revision: 300089

upgpkg: llvm 4.0.1-4

Simplify SSP/PIE patch; only disable PIE by default on architectures we
don't support and cause test failures that are not very easy to correct.

Modified:
  llvm/trunk/0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch
  llvm/trunk/0002-Enable-SSP-and-PIE-by-default.patch
  llvm/trunk/PKGBUILD

------------------------------------------------------+
 0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch |    2 
 0002-Enable-SSP-and-PIE-by-default.patch             |   92 +++++++++++------
 PKGBUILD                                             |    6 -
 3 files changed, 68 insertions(+), 32 deletions(-)

Modified: 0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch
===================================================================
--- 0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch	2017-07-11 09:54:30 UTC (rev 300088)
+++ 0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch	2017-07-11 11:06:16 UTC (rev 300089)
@@ -1,4 +1,4 @@
-From f08d44484ac7c6e1b2381e4e6c38cb9c4c75d108 Mon Sep 17 00:00:00 2001
+From ea7d4d81905ff99c5c04388909f501b1da451b79 Mon Sep 17 00:00:00 2001
 From: Evangelos Foutras <evangelos at foutrelis.com>
 Date: Thu, 6 Jul 2017 18:53:05 +0300
 Subject: [PATCH 1/2] GCC compatibility: Ignore the -fno-plt flag

Modified: 0002-Enable-SSP-and-PIE-by-default.patch
===================================================================
--- 0002-Enable-SSP-and-PIE-by-default.patch	2017-07-11 09:54:30 UTC (rev 300088)
+++ 0002-Enable-SSP-and-PIE-by-default.patch	2017-07-11 11:06:16 UTC (rev 300089)
@@ -1,4 +1,4 @@
-From d0104750cdbd92f1870428c95c7a8a3956bff2f7 Mon Sep 17 00:00:00 2001
+From 7c483b3a7b2d87ae1d0dde1e5c12fa2bdb22d681 Mon Sep 17 00:00:00 2001
 From: Evangelos Foutras <evangelos at foutrelis.com>
 Date: Thu, 6 Jul 2017 18:15:43 +0300
 Subject: [PATCH 2/2] Enable SSP and PIE by default
@@ -17,45 +17,40 @@
 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.cpp     | 21 ++++++++++++++++++++-
- lib/Driver/ToolChains.h       |  1 +
- lib/Driver/Tools.cpp          |  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/linux-ld.c        |  2 ++
- test/Driver/stack-protector.c |  4 ++--
- 9 files changed, 44 insertions(+), 19 deletions(-)
+ lib/Driver/ToolChains.cpp           | 14 +++++++++++++-
+ lib/Driver/ToolChains.h             |  1 +
+ lib/Driver/Tools.cpp                |  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 ++--
+ 11 files changed, 42 insertions(+), 24 deletions(-)
 
 diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp
-index 9bc9ae4f6a..66faa59930 100644
+index 9bc9ae4f6a..add512e0a5 100644
 --- a/lib/Driver/ToolChains.cpp
 +++ b/lib/Driver/ToolChains.cpp
-@@ -4710,7 +4710,26 @@ void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs,
+@@ -4710,7 +4710,19 @@ void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs,
    }
  }
  
 -bool Linux::isPIEDefault() const { return getSanitizerArgs().requiresPIE(); }
 +bool Linux::isPIEDefault() const {
-+  const bool IsX86 = getTriple().getArch() == llvm::Triple::x86;
-+  const bool IsX86_64 = getTriple().getArch() == llvm::Triple::x86_64;
++  const bool IsMips = isMipsArch(getTriple().getArch());
 +  const bool IsAndroid = getTriple().isAndroid();
 +
-+  if ((IsX86 || IsX86_64) && !IsAndroid)
-+    return true;
++  if (IsMips || IsAndroid)
++    return getSanitizerArgs().requiresPIE();
 +
-+  return getSanitizerArgs().requiresPIE();
++  return true;
 +}
 +
 +unsigned Linux::GetDefaultStackProtectorLevel(bool KernelOrKext) const {
-+  const bool IsX86 = getTriple().getArch() == llvm::Triple::x86;
-+  const bool IsX86_64 = getTriple().getArch() == llvm::Triple::x86_64;
-+
-+  if (IsX86 || IsX86_64)
-+    return 2;
-+
-+  return Generic_ELF::GetDefaultStackProtectorLevel(KernelOrKext);
++  return 2;
 +}
  
  SanitizerMask Linux::getSupportedSanitizers() const {
@@ -146,7 +141,7 @@
  // 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 25aea01aae..fe8cdaf408 100644
+index 25aea01aae..c81da6715c 100644
 --- a/test/Driver/fsanitize.c
 +++ b/test/Driver/fsanitize.c
 @@ -182,13 +182,13 @@
@@ -167,7 +162,7 @@
  
  // CHECK-NO-PIE-NOT: "-pie"
  // CHECK-NO-PIE: "-mrelocation-model" "static"
-@@ -424,8 +424,8 @@
+@@ -424,12 +424,12 @@
  // RUN: %clang -fno-sanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NOSP
  // NOSP-NOT: "-fsanitize=safe-stack"
  
@@ -177,7 +172,13 @@
 +// RUN: %clang -target x86_64-linux-gnu -fsanitize=address,safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP-ASAN
  // RUN: %clang -target x86_64-linux-gnu -fstack-protector -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP
  // RUN: %clang -target x86_64-linux-gnu -fsanitize=safe-stack -fstack-protector-all -### %s 2>&1 | FileCheck %s -check-prefix=SP
- // RUN: %clang -target arm-linux-androideabi -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP
+-// RUN: %clang -target arm-linux-androideabi -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP
+-// RUN: %clang -target aarch64-linux-android -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP
++// RUN: %clang -target arm-linux-androideabi -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP
++// RUN: %clang -target aarch64-linux-android -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP
+ // RUN: %clang -target i386-contiki-unknown -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP
+ // NO-SP-NOT: stack-protector
+ // NO-SP: "-fsanitize=safe-stack"
 @@ -439,6 +439,8 @@
  
  // NO-SP-ASAN-NOT: stack-protector
@@ -199,6 +200,41 @@
 +// CHECK: "crtbeginS.o"
  // CHECK: "-L[[TOOLCHAIN]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5"
  // CHECK: "-L[[TOOLCHAIN]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../.."
+diff --git a/test/Driver/hexagon-toolchain-elf.c b/test/Driver/hexagon-toolchain-elf.c
+index 827c19186b..a8f0918a8d 100644
+--- a/test/Driver/hexagon-toolchain-elf.c
++++ b/test/Driver/hexagon-toolchain-elf.c
+@@ -425,7 +425,7 @@
+ // RUN:   %s 2>&1 \
+ // RUN:   | FileCheck -check-prefix=CHECK042 %s
+ // CHECK042:      "-cc1"
+-// CHECK042:      "-mrelocation-model" "static"
++// CHECK042:      "-mrelocation-model" "pic"
+ // CHECK042:      "-mllvm" "-hexagon-small-data-threshold=8"
+ // CHECK042-NEXT: llvm-mc
+ // CHECK042:      "-gpsize=8"
+diff --git a/test/Driver/linux-as.c b/test/Driver/linux-as.c
+index a07abc17e5..d7b1a6041d 100644
+--- a/test/Driver/linux-as.c
++++ b/test/Driver/linux-as.c
+@@ -106,7 +106,7 @@
+ // CHECK-PPC-NO-MCPU-NOT: as{{.*}} "-mcpu=invalid-cpu"
+ //
+ // RUN: %clang -target sparc64-linux -mcpu=invalid-cpu -### \
+-// RUN:   -no-integrated-as -c %s 2>&1 \
++// RUN:   -no-integrated-as -fno-pic -c %s 2>&1 \
+ // RUN:   | FileCheck -check-prefix=CHECK-SPARCV9 %s
+ // CHECK-SPARCV9: as
+ // CHECK-SPARCV9: -64
+@@ -115,7 +115,7 @@
+ // CHECK-SPARCV9: -o
+ //
+ // RUN: %clang -target sparc64-linux -mcpu=invalid-cpu -### \
+-// RUN:   -no-integrated-as -fpic -c %s 2>&1 \
++// RUN:   -no-integrated-as -c %s 2>&1 \
+ // RUN:   | FileCheck -check-prefix=CHECK-SPARCV9PIC %s
+ // CHECK-SPARCV9PIC: as
+ // CHECK-SPARCV9PIC: -64
 diff --git a/test/Driver/linux-ld.c b/test/Driver/linux-ld.c
 index 5d1001beb0..f9f0969f1b 100644
 --- a/test/Driver/linux-ld.c

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-07-11 09:54:30 UTC (rev 300088)
+++ PKGBUILD	2017-07-11 11:06:16 UTC (rev 300089)
@@ -11,7 +11,7 @@
 
 pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'lld' 'lldb' 'clang' 'clang-tools-extra')
 pkgver=4.0.1
-pkgrel=3
+pkgrel=4
 _ocaml_ver=4.04.1
 arch=('i686' 'x86_64')
 url="http://llvm.org/"
@@ -45,8 +45,8 @@
             'SKIP'
             '8432d2dfd86044a0fc21713e0b5c1d98e1d8aad863cf67562879f47f841ac47b'
             'SKIP'
-            'b0448af29759f5f61567ce41d9b3d583a8ca57289515736ddeef6d1096b0ab42'
-            'f393716a0241a96eeab728908c88594a57d86aa8ce29785765ba1990530d98f2'
+            'd26239d03983fab1f34970b94d727379ca0be689f5826e50503c4d2f314f207a'
+            '686b2e05a151c9a4b36d5090ddc986432ad746bc6060a00928ee3b52d6b3e723'
             '6fff47ab5ede79d45fe64bb4903b7dfc27212a38e6cd5d01e60ebd24b7557359'
             '10cca2f593c711b1b547f479f9f783ab88f9a64b356519d9aa1367e0ff6da73a'
             'b80bda6dc26792e499b3150e13c3017be4a65280b4b9f5c9f4c07b55a46d93b6'



More information about the arch-commits mailing list