[llvm] [MTE][Darwin] This patch extends support for the stack frame history buffer to Darwin. (PR #178049)

Dan Blackwell via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 28 02:07:03 PST 2026


================
@@ -472,14 +472,24 @@ Instruction *AArch64StackTagging::insertBaseTaggedPointer(
   // This ABI will make it into Android API level 35.
   // The ThreadLong format is the same as with HWASan, but the entries for
   // stack MTE take two slots (16 bytes).
-  if (ClRecordStackHistory == instr && TargetTriple.isAndroid() &&
-      TargetTriple.isAArch64() && !TargetTriple.isAndroidVersionLT(35) &&
-      !AllocasToInstrument.empty()) {
-    constexpr int StackMteSlot = -3;
+  //
+  // Stack history is recorded by default on Darwin.
+  if (ClRecordStackHistory == instr ||
+      (!ClRecordStackHistory.getNumOccurrences() &&
----------------
DanBlackwell wrote:

I believe this is because if someone has explicitly set it then we should honor that

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


More information about the llvm-commits mailing list