[PATCH] D87095: [Triple][MachO] Define "arm64e", an AArch64 subarch for Pointer Auth.

Ahmed Bougacha via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 3 11:17:51 PDT 2020


ab added a comment.

In D87095#2255010 <https://reviews.llvm.org/D87095#2255010>, @pcc wrote:

> But I was wondering: shouldn't this be the *last* patch? I was imagining that you would first upstream support for the `-fptrauth-*` flags, and then at the end you would add an `arm64e` subarch that turns them on by default. Otherwise the upstream compiler will temporarily produce ABI-incompatible objects when targeting `arm64e`.

Good point, you're right.  ABI compatibility has obviously been a major issue as we keep iterating on this, so we added the concept of ptrauth ABI versions to the arm64e mach-o cpusubtype.  With this patch, upstream clang produces "unversioned" binaries, which are rejected on macOS11/iOS14.  Once we're done upstreaming, I'll make the final patch to match the ABI version.  In the meantime, that means upstream can't produce anything that runs on macOS, which should avoid this problem (and lets us use arm64e checks in the remaining patches, though I can obviously extract that to have the patches done the other way)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D87095/new/

https://reviews.llvm.org/D87095



More information about the llvm-commits mailing list