Messages in this thread |  | | Date | Sat, 16 Apr 2022 16:56:24 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH] perf clang: Fix header include for LLVM >= 14 |
| |
Em Sat, Apr 16, 2022 at 09:45:55AM +0200, Guilherme Amadio escreveu: > The header TargetRegistry.h has moved in LLVM/clang 14. > > Signed-off-by: Guilherme Amadio <amadio@gentoo.org>
Applied and ammended the commit log message with some extra info about the problem, this is the end result:
perf clang: Fix header include for LLVM >= 14
The header TargetRegistry.h has moved in LLVM/clang 14.
Committer notes:
The problem as noticed when building in ubuntu:20.04 with this command line:
$ make LIBCLANGLLVM=1 -C tools/perf O=/tmp/build/perf
/usr/bin/ld: /usr/lib/llvm-10/lib/libclangCodeGen.a(BackendUtil.cpp.o): in function `(anonymous namespace)::EmitAssemblyHelper::EmitAssemblyWithNewPassManager(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >)': (.text._ZN12_GLOBAL__N_118EmitAssemblyHelper30EmitAssemblyWithNewPassManagerEN5clang13BackendActionESt10unique_ptrIN4llvm17raw_pwrite_streamESt14default_deleteIS5_EE+0x1f15): undefined reference to `getPollyPluginInfo()' clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [Makefile.perf:677: /tmp/build/perf/perf] Error 1 make[1]: *** [Makefile.perf:240: sub-make] Error 2 make: *** [Makefile:70: all] Error 2
Fixed after applying this patch.
Reported-by: Arnaldo Carvalho de Melo <acme@kernel.org> Signed-off-by: Guilherme Amadio <amadio@gentoo.org> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Link: https://twitter.com/GuilhermeAmadio/status/1514970524232921088 Link: http://lore.kernel.org/lkml/Ylp0M/VYgHOxtcnF@gentoo.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
But then the container build just finished and the problem is still there :-\
+ make ARCH= CROSS_COMPILE= EXTRA_CFLAGS= LIBCLANGLLVM=1 -C tools/perf O=/tmp/build/perf CC=clang <SNIP> LD /tmp/build/perf/perf-in.o LINK /tmp/build/perf/perf /usr/bin/ld: /usr/lib/llvm-10/lib/libclangCodeGen.a(BackendUtil.cpp.o): in function `(anonymous namespace)::EmitAssemblyHelper::EmitAssemblyWithNewPassManager(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >)': (.text._ZN12_GLOBAL__N_118EmitAssemblyHelper30EmitAssemblyWithNewPassManagerEN5clang13BackendActionESt10unique_ptrIN4llvm17raw_pwrite_streamESt14default_deleteIS5_EE+0x1f15): undefined reference to `getPollyPluginInfo()' clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [Makefile.perf:677: /tmp/build/perf/perf] Error 1 make[1]: *** [Makefile.perf:240: sub-make] Error 2 make: *** [Makefile:70: all] Error 2 make: Leaving directory '/git/perf-5.18.0-rc2/tools/perf' + exit 1 [perfbuilder@five ~]$ [perfbuilder@five ~]$
And that part : /usr/bin/ld: /usr/lib/llvm-10/lib/libclangCodeGen.a seems to imply its llvm 10 that is installed, lemme check:
[perfbuilder@five ~]$ dsh ubuntu:20.04 $ bash perfbuilder@7cfe87e48135:/$ dpkg -l | grep llvm ii libllvm10:amd64 1:10.0.0-4ubuntu1 amd64 Modular compiler and toolchain technologies, runtime library ii libllvm12:amd64 1:12.0.0-3ubuntu1~20.04.5 amd64 Modular compiler and toolchain technologies, runtime library ii llvm 1:10.0-50~exp1 amd64 Low-Level Virtual Machine (LLVM) ii llvm-10 1:10.0.0-4ubuntu1 amd64 Modular compiler and toolchain technologies ii llvm-10-dev 1:10.0.0-4ubuntu1 amd64 Modular compiler and toolchain technologies, libraries and headers ii llvm-10-runtime 1:10.0.0-4ubuntu1 amd64 Modular compiler and toolchain technologies, IR interpreter ii llvm-10-tools 1:10.0.0-4ubuntu1 amd64 Modular compiler and toolchain technologies, tools ii llvm-dev 1:10.0-50~exp1 amd64 Low-Level Virtual Machine (LLVM), libraries and headers ii llvm-runtime 1:10.0-50~exp1 amd64 Low-Level Virtual Machine (LLVM), bytecode interpreter perfbuilder@7cfe87e48135:/$ dpkg -l | grep clang ii clang 1:10.0-50~exp1 amd64 C, C++ and Objective-C compiler (LLVM based) ii clang-10 1:10.0.0-4ubuntu1 amd64 C, C++ and Objective-C compiler ii libclang-10-dev 1:10.0.0-4ubuntu1 amd64 Clang library - Development package ii libclang-common-10-dev 1:10.0.0-4ubuntu1 amd64 Clang library - Common development package ii libclang-cpp10 1:10.0.0-4ubuntu1 amd64 C++ interface to the Clang library ii libclang-dev 1:10.0-50~exp1 amd64 clang library - Development package ii libclang1-10 1:10.0.0-4ubuntu1 amd64 C interface to the Clang library perfbuilder@7cfe87e48135:/$
Yeah, so I'll try making it test >= 10, lets see...
- Arnaldo
|  |