Index: lib/CodeGen/CodeGenModule.cpp =================================================================== --- lib/CodeGen/CodeGenModule.cpp +++ lib/CodeGen/CodeGenModule.cpp @@ -555,6 +555,10 @@ getModule().setPIELevel(static_cast(PLevel)); } + if (CodeGenOpts.NoPLT) { + getModule().setRtLibUseGOT(); + } + SimplifyPersonality(); if (getCodeGenOpts().EmitDeclMetadata) Index: test/CodeGen/noplt.c =================================================================== --- test/CodeGen/noplt.c +++ 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() {