Index: cfe/trunk/lib/CodeGen/CodeGenModule.cpp =================================================================== --- cfe/trunk/lib/CodeGen/CodeGenModule.cpp +++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp @@ -555,6 +555,9 @@ getModule().setPIELevel(static_cast(PLevel)); } + if (CodeGenOpts.NoPLT) + getModule().setRtLibUseGOT(); + SimplifyPersonality(); if (getCodeGenOpts().EmitDeclMetadata) Index: cfe/trunk/test/CodeGen/noplt.c =================================================================== --- cfe/trunk/test/CodeGen/noplt.c +++ cfe/trunk/test/CodeGen/noplt.c @@ -1,7 +1,8 @@ -// RUN: %clang_cc1 -emit-llvm -fno-plt %s -o - | FileCheck %s -check-prefix=CHECK-NOPLT +// RUN: %clang_cc1 -emit-llvm -fno-plt %s -o - | FileCheck %s -check-prefix=CHECK-NOPLT -check-prefix=CHECK-NOPLT-METADATA // CHECK-NOPLT: Function Attrs: nonlazybind // CHECK-NOPLT-NEXT: declare {{.*}}i32 @foo +// CHECK-NOPLT-METADATA: !"RtLibUseGOT" int foo(); int bar() {