From: Sriraman Tallam Date: Fri, 23 Feb 2018 21:27:33 +0000 (+0000) Subject: Set Module Metadata "RtLibUseGOT" when fno-plt is used. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7c10621a2b86d359210a4c1ec0af5900ed9eba58;p=clang Set Module Metadata "RtLibUseGOT" when fno-plt is used. Differential Revision: https://reviews.llvm.org/D42217 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@325961 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp index 03bf216915..588d001111 100644 --- a/lib/CodeGen/CodeGenModule.cpp +++ b/lib/CodeGen/CodeGenModule.cpp @@ -555,6 +555,9 @@ void CodeGenModule::Release() { getModule().setPIELevel(static_cast(PLevel)); } + if (CodeGenOpts.NoPLT) + getModule().setRtLibUseGOT(); + SimplifyPersonality(); if (getCodeGenOpts().EmitDeclMetadata) diff --git a/test/CodeGen/noplt.c b/test/CodeGen/noplt.c index f467199efa..20e2e07b0f 100644 --- a/test/CodeGen/noplt.c +++ b/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() {