[llvm][readobj] Add AArch64 SME and SME2 note types
authorDavid Spickett <david.spickett@linaro.org>
Wed, 12 Apr 2023 13:02:45 +0000 (14:02 +0100)
committerDavid Spickett <david.spickett@linaro.org>
Thu, 13 Apr 2023 12:17:38 +0000 (13:17 +0100)
commitc950ba7d4898f63cb7734482b4dfa38ade6f685b
treea4c3a6975aba173f98b49084025ec2656b5a2b77
parent66202d83b5d47479ae0f8117aebb523ba7eff82d
[llvm][readobj] Add AArch64 SME and SME2 note types

These are used to store new state added by the Scalable Matrix
Extension which is documented in
https://developer.arm.com/documentation/ddi0616/aa/.

The values match those defined by Linux, see:
https://github.com/torvalds/linux/blob/e62252bc55b6d4eddc6c2bdbf95a448180d6a08d/include/uapi/linux/elf.h#L435

The ZT register(s) are added by SME2 which is not yet publicly
documented but has support in LLVM and Linux already.

Also added descriptions for SVE and PAC_MASK notes since those
were missing.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D148126
llvm/include/llvm/BinaryFormat/ELF.h
llvm/lib/ObjectYAML/ELFYAML.cpp
llvm/test/tools/llvm-readobj/ELF/note-core.test
llvm/tools/llvm-readobj/ELFDumper.cpp