[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
Fri Apr 11 04:48:04 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:
I see the logic in this comment, on the other hand, the current form can be used to check whether And Features were provided at all or not. The llvm functions that populate the struct (`getAttributeValue`) gives and std::optional. Currently we do not leverage it in order to distinguish between 'user gave 0' or 'user did not give any value' because GNU properties do not, but it can be done in the future and removing this mechanism will make it more difficult.
(It is true that the standard provides the user with special values to indicate this kind of cases, but this is not practical scenario and a more likely way to handle it will be an internal distinction between '0 has been provided' and 'nothing has been provided')
https://github.com/llvm/llvm-project/pull/131990
More information about the llvm-commits
mailing list