From: George Rimar Date: Tue, 29 Mar 2016 08:45:40 +0000 (+0000) Subject: [ELF, PR27091] - Implemented -t/--trace option X-Git-Tag: llvmorg-3.9.0-rc1~10648 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1e4b39f18448db4c7e77341a861847752ddce875;p=platform%2Fupstream%2Fllvm.git [ELF, PR27091] - Implemented -t/--trace option -t/--trace Print the names of the input files as ld processes them. This fixes https://llvm.org/bugs/show_bug.cgi?id=27091. Differential revision: http://reviews.llvm.org/D18517 llvm-svn: 264708 --- diff --git a/lld/ELF/Config.h b/lld/ELF/Config.h index b75a599..591b625 100644 --- a/lld/ELF/Config.h +++ b/lld/ELF/Config.h @@ -79,6 +79,7 @@ struct Configuration { bool StripAll; bool SysvHash = true; bool Threads; + bool Trace; bool Verbose; bool WarnCommon; bool ZExecStack; diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index 68dce6f..9ec302e 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -90,7 +90,8 @@ static std::vector getArchiveMembers(MemoryBufferRef MB) { // Newly created memory buffers are owned by this driver. void LinkerDriver::addFile(StringRef Path) { using namespace llvm::sys::fs; - log(Path); + if (Config->Verbose || Config->Trace) + llvm::outs() << Path << "\n"; auto MBOrErr = MemoryBuffer::getFile(Path); if (!MBOrErr) { error(MBOrErr, "cannot open " + Path); @@ -250,6 +251,7 @@ void LinkerDriver::readConfigs(opt::InputArgList &Args) { Config->Shared = Args.hasArg(OPT_shared); Config->StripAll = Args.hasArg(OPT_strip_all); Config->Threads = Args.hasArg(OPT_threads); + Config->Trace = Args.hasArg(OPT_trace); Config->Verbose = Args.hasArg(OPT_verbose); Config->WarnCommon = Args.hasArg(OPT_warn_common); diff --git a/lld/ELF/Options.td b/lld/ELF/Options.td index 11b7c1f..6b4ead2 100644 --- a/lld/ELF/Options.td +++ b/lld/ELF/Options.td @@ -126,6 +126,9 @@ def sysroot : Joined<["--"], "sysroot=">, def threads : Joined<["--"], "threads">; +def trace: Flag<["--"], "trace">, + HelpText<"Print the names of the input files">; + def undefined : Joined<["--"], "undefined=">, HelpText<"Force undefined symbol during linking">; @@ -169,6 +172,7 @@ def alias_shared_Bshareable : Flag<["-"], "Bshareable">, Alias; def alias_soname_h : JoinedOrSeparate<["-"], "h">, Alias; def alias_soname_soname : Separate<["-"], "soname">, Alias; def alias_script_T : JoinedOrSeparate<["-"], "T">, Alias