[lld] [llvm] [lld][AArch64][Build Attributes] Add support for converting AArch64 Build Attributes to GNU Properties (PR #131990)

via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 10 05:51:50 PDT 2025


================
@@ -207,6 +209,51 @@ static void updateSupportedARMFeatures(Ctx &ctx,
   ctx.arg.armHasThumb2ISA |= thumb && *thumb >= ARMBuildAttrs::AllowThumb32;
 }
 
+struct KnownAArch64BuildAttrSubsections {
+  struct PauthSubSection {
+    unsigned tagPlatform = 0;
+    unsigned tagSchema = 0;
+  } pauth;
+  struct FAndBSubSection {
----------------
sivan-shani wrote:

Those are valid points. On the other hand, using uint32_t prevent us from distinguishing between 'No And-Features input' and 'All 0 And-Features input'. Adopting a uint32_t is likely to result in this lower-definition mechanism stay in the future. Wouldn't it better to use the mechanism that is higher-definition to start with, pay the price of a slightly more complexity in transforming from GB to BA and vice-versa, but have the better, future mechanism in place already. In the future, might make a task to make it possible to distinguish between the cases as described above way harder to solve.

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


More information about the llvm-commits mailing list