[clang] [compiler-rt] [llvm] [LFI] Introduce AArch64 LFI Target (PR #167061)

Peter Smith via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 20 07:53:50 PST 2025


https://github.com/smithp35 commented:

My apologies for the delay, managed to catch me at a busy time in the day job. Will be out of office till next week so may be a bit slow to reply.

I appreciate that you've included the documentation in the patch, I've put some questions there that probably don't affect this patch, but may affect later ones. I can't spot anything obviously wrong in this patch.

The one important decision in this patch is the choice of a subtarget for LFI. I guess the most obvious alternatives would be a LFI envionment (like pauthtest), or an ABI (like aapcs-soft). LFI is a bit strange in that it is kind of a mixture of all three. The instructions are restricted to what the verifier can accept, the syscalls are limited to what the sandbox accepts, and there is a different procedure call standard. Given that objects compiled for LFI won't be compatible with non-LFI I think a sub-target is probably the best choice, or at least I can't think of a better one.

Your suggestions of how to split the patch sound reasonable to me. Without spending a lot of effort looking at the full patch, it is diffcult to know if there is a significantly better way. I guess we'll let you know if it needs splitting again.

I expect to have more comments on later patches. Particularly if there's anything we need to document in the Arm ABI. For example identifying relocatable objects as LFI (to diagnose clashes with non-LFI at link-time) and identifying executables as requiring LFI. 

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


More information about the llvm-commits mailing list