diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index d2ca9fb8df13918a767578ed8aad1bc3bae6688e..2f824cbcad77a99244819de016c78336a79e83e7 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -2139,13 +2139,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, if (KernelOrKext && (!Triple.isiOS() || Triple.isOSVersionLT(6))) PIC = PIE = false; - // Usually '-static' implies no-PIC. But for MIPS '-fPIC -static' means - // to compile as -fPIC but link with -static. - if (Args.hasArg(options::OPT_static) && - getToolChain().getArch() != llvm::Triple::mips && - getToolChain().getArch() != llvm::Triple::mipsel && - getToolChain().getArch() != llvm::Triple::mips64 && - getToolChain().getArch() != llvm::Triple::mips64el) + if (Args.hasArg(options::OPT_static)) PIC = PIE = false; if (Arg *A = Args.getLastArg(options::OPT_mdynamic_no_pic)) { diff --git a/test/Driver/pic.c b/test/Driver/pic.c index 7bf514caa30ff9d1e3899ea5facdc81b2e1f9245..30e1005c97370d679213db64c3797968831db03d 100644 --- a/test/Driver/pic.c +++ b/test/Driver/pic.c @@ -209,13 +209,3 @@ // On OpenBSD, -nopie needs to be passed through to the linker. // RUN: %clang %s -target i386-pc-openbsd -nopie -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK-NOPIE-LD -// -// For MIPS -fPIC -static means to compile as -fPIC but link with -static. -// RUN: %clang -c %s -target mips-linux-gnu -fpic -static -### 2>&1 \ -// RUN: | FileCheck %s --check-prefix=CHECK-PIC1 -// RUN: %clang -c %s -target mips-linux-gnu -### 2>&1 \ -// RUN: | FileCheck %s --check-prefix=CHECK-NO-PIC -// RUN: %clang -c %s -target mips-linux-gnu -fpic -### 2>&1 \ -// RUN: | FileCheck %s --check-prefix=CHECK-PIC1 -// RUN: %clang -c %s -target mips-linux-gnu -static -### 2>&1 \ -// RUN: | FileCheck %s --check-prefix=CHECK-NO-PIC