[lld] [llvm] [lld][ELF] Check ARM float ABI compatibility during linking (PR #205667)
Peter Smith via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 3 06:12:18 PDT 2026
================
@@ -126,14 +137,60 @@ uint32_t ARM::calcEFlags() const {
// with BE-8 code.
uint32_t armBE8 = 0;
- if (ctx.arg.armVFPArgs == ARMVFPArgKind::Base ||
- ctx.arg.armVFPArgs == ARMVFPArgKind::Default)
+ if (!ctx.arg.isLE && ctx.arg.armBe8)
+ armBE8 = EF_ARM_BE8;
+
+ // Check the float ABI flags/attributes of all input object files.
+ // We use the Tag_ABI_VFP_args build attributes because relocatable object
+ // files do not have float ABI flags set in their ELF headers.
+ uint32_t target = 0; // 0: unset, 1: soft-float/softfp, 2: hard-float
----------------
smithp35 wrote:
target is a very general name. Perhaps `targetFloatABI`. Would be good to make it an enum as both it and the attribute use (different) numbers.
https://github.com/llvm/llvm-project/pull/205667
More information about the llvm-commits
mailing list