[lld] [llvm] [lld][AArch64][Build Attributes] Add support for AArch64 Build Attributes (PR #144082)

Peter Smith via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 7 01:53:32 PDT 2025


================
@@ -537,6 +538,46 @@ uint32_t ObjFile<ELFT>::getSectionIndex(const Elf_Sym &sym) const {
       this);
 }
 
+template <class ELFT>
+static void
+handleAArch64BAAndGnuProperties(ObjFile<ELFT> *file, Ctx &ctx,
+                                const AArch64BuildAttrSubsections &baInfo) {
+  if (file->aarch64PauthAbiCoreInfo) {
+    // Check for data mismatch
+    if (file->aarch64PauthAbiCoreInfo) {
+      if (baInfo.Pauth.TagPlatform != file->aarch64PauthAbiCoreInfo->platform ||
+          baInfo.Pauth.TagSchema != file->aarch64PauthAbiCoreInfo->version)
+        Err(ctx)
+            << file
+            << " Pauth Data mismatch: file contains both GNU properties and "
----------------
smithp35 wrote:

I can answer that part.

The spelling of PAuthABI was derived from the spelling of the Architecture feature FEAT_PAuth https://developer.arm.com/documentation/109697/2025_06/Feature-descriptions/The-Armv8-3-architecture-extension?lang=en#md448-the-armv83-architecture-extension__feat_FEAT_PAuth 

The PAuthABI spec uses that https://github.com/ARM-software/abi-aa/blob/main/pauthabielf64/pauthabielf64.rst

I don't think it hugely matters which form is used in source code, but I agree it should be consistent.  

https://github.com/llvm/llvm-project/pull/144082


More information about the llvm-commits mailing list