[all-commits] [llvm/llvm-project] 4f19f1: [PAC][llvm-readobj][AArch64][ELF] Support `GNU_PRO...
Daniil Kovalev via All-commits
all-commits at lists.llvm.org
Wed Apr 3 22:20:36 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4f19f15a601a5761b12c9c66d99d97dbc89ef90d
https://github.com/llvm/llvm-project/commit/4f19f15a601a5761b12c9c66d99d97dbc89ef90d
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-feature-pauth.s
M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-note-gnu-property.s
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[PAC][llvm-readobj][AArch64][ELF] Support `GNU_PROPERTY_AARCH64_FEATURE_PAUTH` (#87545)
Reland #85231 after fixing build failure
https://lab.llvm.org/buildbot/#/builders/186/builds/15631.
Use `PRIx64` for format output of `uint64_t` as hex.
Original PR description below.
This adds support for `GNU_PROPERTY_AARCH64_FEATURE_PAUTH` feature (as
defined in https://github.com/ARM-software/abi-aa/pull/240) handling in
llvm-readobj and llvm-readelf. The following constants for supported
platforms are also introduced:
- `AARCH64_PAUTH_PLATFORM_INVALID = 0x0`
- `AARCH64_PAUTH_PLATFORM_BAREMETAL = 0x1`
- `AARCH64_PAUTH_PLATFORM_LLVM_LINUX = 0x10000002`
For the llvm_linux platform, output of the tools contains descriptions
of PAuth features which are enabled/disabled depending on the version
value. Version value bits correspond to the following `LangOptions`
defined in #85232:
- bit 0: `PointerAuthIntrinsics`;
- bit 1: `PointerAuthCalls`;
- bit 2: `PointerAuthReturns`;
- bit 3: `PointerAuthAuthTraps`;
- bit 4: `PointerAuthVTPtrAddressDiscrimination`;
- bit 5: `PointerAuthVTPtrTypeDiscrimination`;
- bit 6: `PointerAuthInitFini`.
Support for `.note.AARCH64-PAUTH-ABI-tag` is dropped since it's deleted
from the spec in ARM-software/abi-aa#250.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list