This patch adds support for AArch64 in instrumentation runtime library, including AArch64 system calls.
Also this commit divides syscalls into target-specific files.
Elvina Yakubova,
Advanced Software Technology Lab, Huawei
Paths
| Differential D151942
[BOLT] Instrumentation: AArch64 instrumentation support in runtime ClosedPublic Authored by Elvina on Jun 1 2023, 2:37 PM.
Details Summary This patch adds support for AArch64 in instrumentation runtime library, including AArch64 system calls. Elvina Yakubova,
Diff Detail Event Timeline
Elvina added inline comments.
Comment Actions I wonder why is this diff not showing up on top of the D151899 diff stack anymore? Isn't it dependent on that stack? Elvina added a parent revision: D151899: [BOLT] Instrumentation: Initial instrumentation support for AArch64.Jul 6 2023, 11:09 PM Comment Actions
Yes, it is, added it. Elvina removed a parent revision: D151899: [BOLT] Instrumentation: Initial instrumentation support for AArch64.Jul 7 2023, 12:02 AM Elvina added a child revision: D151899: [BOLT] Instrumentation: Initial instrumentation support for AArch64. Comment Actions add check for Darwin OS, so we'll not get error during building with clang on Linux (see here https://github.com/llvm/llvm-project/issues/63255#issuecomment-1589716433)
Elvina added inline comments.
This revision is now accepted and ready to land.Aug 18 2023, 5:04 PM Elvina edited child revisions, added: D151920: [BOLT] Instrumentation: Fix tests; removed: D151899: [BOLT] Instrumentation: Initial instrumentation support for AArch64.Aug 22 2023, 7:16 AM Elvina added a parent revision: D151899: [BOLT] Instrumentation: Initial instrumentation support for AArch64. Elvina edited parent revisions, added: D151901: [BOLT] Instrumentation: Add support for MacOS counters; removed: D151899: [BOLT] Instrumentation: Initial instrumentation support for AArch64. Closed by commit rG87e9c42495aa: [BOLT][Instrumentation] AArch64 instrumentation support in runtime (authored by Elvina). · Explain WhyAug 24 2023, 9:35 AM This revision was automatically updated to reflect the committed changes. Comment Actions This change broke our builder that's cross-compiling the toolchain from x86_64-linux-gnu to aarch64-linux-gnu. It looks like the bolt_rt build is now trying to execute the cross-compiled clang and fails because it's no possible to run the aarch64-linux-gnu binary on x86_64-linux-gnu.
Revision Contents
Diff 548228 bolt/CMakeLists.txt
bolt/runtime/CMakeLists.txt
bolt/runtime/common.h
bolt/runtime/instr.cpp
bolt/runtime/sys_aarch64.h
bolt/runtime/sys_x86_64.h
|
This probably also needs to check that CMAKE_CROSSCOMPILING isn't set (that is NOT CMAKE_CROSSCOMPILING).