diff options
author | Stefan Pintilie <stefanp@ca.ibm.com> | 2018-11-16 18:37:01 +0000 |
---|---|---|
committer | Stefan Pintilie <stefanp@ca.ibm.com> | 2018-11-16 18:37:01 +0000 |
commit | 3bb8c70dfabf6af57dd280a26bd1edb2c818ef16 (patch) | |
tree | 438e698e5f816294d6bd103be769138354a2f56b | |
parent | 046eff502f3bf2c39f210c58d17e5fcf3c2f8229 (diff) | |
download | bcm5719-llvm-3bb8c70dfabf6af57dd280a26bd1edb2c818ef16.tar.gz bcm5719-llvm-3bb8c70dfabf6af57dd280a26bd1edb2c818ef16.zip |
[PowerPC] Make no-PIC default to match GCC - CLANG
Make the default -fno-PIC on Power PC.
Differential Revision: https://reviews.llvm.org/D53384
llvm-svn: 347070
-rw-r--r-- | clang/lib/Driver/ToolChains/Gnu.cpp | 3 | ||||
-rw-r--r-- | clang/test/Driver/clang-offload-bundler.c | 2 | ||||
-rw-r--r-- | clang/test/Driver/ppc-abi.c | 38 |
3 files changed, 36 insertions, 7 deletions
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp index 1af99358b73..78e0ca18cba 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp @@ -2430,9 +2430,6 @@ bool Generic_GCC::isPICDefault() const { switch (getArch()) { case llvm::Triple::x86_64: return getTriple().isOSWindows(); - case llvm::Triple::ppc64: - case llvm::Triple::ppc64le: - return !getTriple().isOSBinFormatMachO() && !getTriple().isMacOSX(); case llvm::Triple::mips64: case llvm::Triple::mips64el: return true; diff --git a/clang/test/Driver/clang-offload-bundler.c b/clang/test/Driver/clang-offload-bundler.c index adf13f59d46..15092dd1277 100644 --- a/clang/test/Driver/clang-offload-bundler.c +++ b/clang/test/Driver/clang-offload-bundler.c @@ -115,7 +115,7 @@ // CK-TEXTI: // __CLANG_OFFLOAD_BUNDLE____END__ openmp-x86_64-pc-linux-gnu // CK-TEXTLL: ; __CLANG_OFFLOAD_BUNDLE____START__ host-powerpc64le-ibm-linux-gnu -// CK-TEXTLL: @A = global i32 0 +// CK-TEXTLL: @A = dso_local global i32 0 // CK-TEXTLL: define {{.*}}@test_func() // CK-TEXTLL: ; __CLANG_OFFLOAD_BUNDLE____END__ host-powerpc64le-ibm-linux-gnu // CK-TEXTLL: ; __CLANG_OFFLOAD_BUNDLE____START__ openmp-powerpc64le-ibm-linux-gnu diff --git a/clang/test/Driver/ppc-abi.c b/clang/test/Driver/ppc-abi.c index cebc90d3f99..34fe269dc37 100644 --- a/clang/test/Driver/ppc-abi.c +++ b/clang/test/Driver/ppc-abi.c @@ -24,10 +24,42 @@ // RUN: %clang -target powerpc64le-unknown-linux-gnu %s -### -o %t.o 2>&1 \ // RUN: -mabi=altivec | FileCheck -check-prefix=CHECK-ELFv2 %s -// CHECK-ELFv1: "-mrelocation-model" "pic" "-pic-level" "2" +// CHECK-ELFv1: "-mrelocation-model" "static" // CHECK-ELFv1: "-target-abi" "elfv1" -// CHECK-ELFv1-QPX: "-mrelocation-model" "pic" "-pic-level" "2" +// CHECK-ELFv1-QPX: "-mrelocation-model" "static" // CHECK-ELFv1-QPX: "-target-abi" "elfv1-qpx" -// CHECK-ELFv2: "-mrelocation-model" "pic" "-pic-level" "2" +// CHECK-ELFv2: "-mrelocation-model" "static" // CHECK-ELFv2: "-target-abi" "elfv2" +// RUN: %clang -fPIC -target powerpc64-unknown-linux-gnu %s -### -o %t.o 2>&1 \ +// RUN: | FileCheck -check-prefix=CHECK-ELFv1-PIC %s +// RUN: %clang -fPIC -target powerpc64-unknown-linux-gnu %s -### -o %t.o 2>&1 \ +// RUN: -mabi=elfv1 | FileCheck -check-prefix=CHECK-ELFv1-PIC %s +// RUN: %clang -fPIC -target powerpc64-unknown-linux-gnu %s -### -o %t.o 2>&1 \ +// RUN: -mabi=elfv1-qpx | FileCheck -check-prefix=CHECK-ELFv1-QPX-PIC %s +// RUN: %clang -fPIC -target powerpc64-unknown-linux-gnu %s -### -o %t.o 2>&1 \ +// RUN: -mcpu=a2q | FileCheck -check-prefix=CHECK-ELFv1-QPX-PIC %s +// RUN: %clang -fPIC -target powerpc64-unknown-linux-gnu %s -### -o %t.o 2>&1 \ +// RUN: -mcpu=a2 -mqpx | FileCheck -check-prefix=CHECK-ELFv1-QPX-PIC %s +// RUN: %clang -fPIC -target powerpc64-unknown-linux-gnu %s -### -o %t.o 2>&1 \ +// RUN: -mcpu=a2q -mno-qpx | FileCheck -check-prefix=CHECK-ELFv1-PIC %s +// RUN: %clang -fPIC -target powerpc64-unknown-linux-gnu %s -### -o %t.o 2>&1 \ +// RUN: -mabi=elfv2 | FileCheck -check-prefix=CHECK-ELFv2-PIC %s + +// RUN: %clang -fPIC -target powerpc64le-unknown-linux-gnu %s -### -o %t.o 2>&1 \ +// RUN: | FileCheck -check-prefix=CHECK-ELFv2-PIC %s +// RUN: %clang -fPIC -target powerpc64le-unknown-linux-gnu %s -### -o %t.o 2>&1 \ +// RUN: -mabi=elfv1 | FileCheck -check-prefix=CHECK-ELFv1-PIC %s +// RUN: %clang -fPIC -target powerpc64le-unknown-linux-gnu %s -### -o %t.o 2>&1 \ +// RUN: -mabi=elfv2 | FileCheck -check-prefix=CHECK-ELFv2-PIC %s +// RUN: %clang -fPIC -target powerpc64le-unknown-linux-gnu %s -### -o %t.o 2>&1 \ +// RUN: -mabi=altivec | FileCheck -check-prefix=CHECK-ELFv2-PIC %s + +// CHECK-ELFv1-PIC: "-mrelocation-model" "pic" "-pic-level" "2" +// CHECK-ELFv1-PIC: "-target-abi" "elfv1" +// CHECK-ELFv1-QPX-PIC: "-mrelocation-model" "pic" "-pic-level" "2" +// CHECK-ELFv1-QPX-PIC: "-target-abi" "elfv1-qpx" +// CHECK-ELFv2-PIC: "-mrelocation-model" "pic" "-pic-level" "2" +// CHECK-ELFv2-PIC: "-target-abi" "elfv2" + + |