Messages in this thread | | | From | Fāng-ruì Sòng <> | Date | Mon, 11 Oct 2021 20:06:11 -0700 | Subject | Re: [PATCH v2 2/2] perf clang: Fixes for more recent LLVM/clang |
| |
On Mon, Oct 11, 2021 at 7:13 PM Ian Rogers <irogers@google.com> wrote: > > The parameters to two functions and the location of a variable have > changed in more recent LLVM/clang releases. > > Remove the unneecessary -fmessage-length and -ferror-limit flags, the > former causes failures like: > > 58: builtin clang support : > 58.1: builtin clang compile C source to IR : > --- start --- > test child forked, pid 279307 > error: unknown argument: '-fmessage-length' > 1 error generated. > test child finished with -1 > > Tested with LLVM 6, 8, 9, 10 and 11. > > Signed-off-by: Ian Rogers <irogers@google.com> > --- > tools/perf/util/c++/clang.cpp | 21 +++++++++++++-------- > 1 file changed, 13 insertions(+), 8 deletions(-) > > diff --git a/tools/perf/util/c++/clang.cpp b/tools/perf/util/c++/clang.cpp > index c8885dfa3667..df7b18fb6b6e 100644 > --- a/tools/perf/util/c++/clang.cpp > +++ b/tools/perf/util/c++/clang.cpp > @@ -43,8 +43,6 @@ createCompilerInvocation(llvm::opt::ArgStringList CFlags, StringRef& Path, > "-cc1", > "-triple", "bpf-pc-linux", > "-fsyntax-only", > - "-ferror-limit", "19", > - "-fmessage-length", "127", > "-O2", > "-nostdsysteminc", > "-nobuiltininc", > @@ -55,7 +53,11 @@ createCompilerInvocation(llvm::opt::ArgStringList CFlags, StringRef& Path, > "-x", "c"}; > > CCArgs.append(CFlags.begin(), CFlags.end()); > - CompilerInvocation *CI = tooling::newInvocation(&Diags, CCArgs); > + CompilerInvocation *CI = tooling::newInvocation(&Diags, CCArgs > +#if CLANG_VERSION_MAJOR >= 11 > + ,/*BinaryName=*/nullptr > +#endif > + ); > > FrontendOptions& Opts = CI->getFrontendOpts(); > Opts.Inputs.clear(); > @@ -151,13 +153,16 @@ getBPFObjectFromModule(llvm::Module *Module) > > legacy::PassManager PM; > bool NotAdded; > -#if CLANG_VERSION_MAJOR < 7 > - NotAdded = TargetMachine->addPassesToEmitFile(PM, ostream, > - TargetMachine::CGFT_ObjectFile); > + NotAdded = TargetMachine->addPassesToEmitFile(PM, ostream > +#if CLANG_VERSION_MAJOR >= 7 > + , /*DwoOut=*/nullptr > +#endif > +#if CLANG_VERSION_MAJOR < 10 > + , TargetMachine::CGFT_ObjectFile > #else > - NotAdded = TargetMachine->addPassesToEmitFile(PM, ostream, nullptr, > - TargetMachine::CGFT_ObjectFile); > + , llvm::CGFT_ObjectFile > #endif > + ); > if (NotAdded) { > llvm::errs() << "TargetMachine can't emit a file of this type\n"; > return std::unique_ptr<llvm::SmallVectorImpl<char>>(nullptr); > -- > 2.33.0.882.g93a45727a2-goog >
Thanks for the change:)
Reviewed-by: Fangrui Song <maskray@google.com>
| |