mirror of
https://github.com/torvalds/linux.git
synced 2024-11-17 01:22:07 +00:00
perf clang: Fixes for more recent LLVM/clang
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. Reviewed-by: Fangrui Song <maskray@google.com> Signed-off-by: Ian Rogers <irogers@google.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Daniel Borkmann <daniel@iogearbox.net> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Leo Yan <leo.yan@linaro.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Michael Petlan <mpetlan@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Nathan Chancellor <nathan@kernel.org> Cc: Nick Desaulniers <ndesaulniers@google.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Sedat Dilek <sedat.dilek@gmail.com>, Cc: llvm@lists.linux.dev Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
d0d0f0c124
commit
32f7aa2731
@ -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);
|
||||
#else
|
||||
NotAdded = TargetMachine->addPassesToEmitFile(PM, ostream, nullptr,
|
||||
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
|
||||
, 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);
|
||||
|
Loading…
Reference in New Issue
Block a user