Re: [PATCH 2/2] perf clang: Fixes for more recent LLVM/clang
From: Ma Xinjian
Date: Fri Nov 12 2021 - 05:34:06 EST
Hi
We build perf with clang also recently, but unlucky that failed with
following errors:
```
In file included from /usr/lib/llvm-7/include/llvm/ADT/STLExtras.h:21,
from /usr/lib/llvm-7/include/llvm/ADT/StringRef.h:13,
from /usr/lib/llvm-7/include/clang/Basic/Version.h:20,
from test-clang.cpp:2:
/usr/lib/llvm-7/include/llvm/ADT/SmallVector.h: In instantiation of
'void llvm::SmallVectorTemplateBase<T, true>::push_back(const T&) [with
T = clang::driver::OffloadUnbundlingJobAction::DependentActionInfo]':
/usr/lib/llvm-7/include/clang/Driver/Action.h:579:61: required from here
/usr/lib/llvm-7/include/llvm/ADT/SmallVector.h:313:11: error: 'void*
memcpy(void*, const void*, size_t)' writing to an object of type 'struct
clang::driver::OffloadUnbundlingJobAction::DependentActionInfo' with no
trivial copy-assignment; use copy-initialization instead
[-Werror=class-memaccess]
memcpy(this->end(), &Elt, sizeof(T));
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm-7/include/clang/Driver/Driver.h:15,
from test-clang.cpp:6:
/usr/lib/llvm-7/include/clang/Driver/Action.h:549:10: note: 'struct
clang::driver::OffloadUnbundlingJobAction::DependentActionInfo' declared
here
struct DependentActionInfo final {
^~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
```
llvm version: 7
rootfs: Debian10
kernel: v5.8 v5.11 v5.15
reproduce:
$ cd linux/tools/perf
$ make LIBCLANGLLVM=1 ARCH= EXTRA_CFLAGS='-fno-omit-frame-pointer
-fsanitize=undefined -fsanitize=address'
Would you please kindly point out what's wrong with our steps? Or can
you give us your command to make perf with clang?
Thanks
Ma Xinjian