[MacPorts] #60818: darwintrace cannot inject into binaries of a different architecture (missing arm64e) (was: darwintrace cannot inject into binaries of a different architecture)

MacPorts noreply at macports.org
Fri Dec 23 23:58:12 UTC 2022


#60818: darwintrace cannot inject into binaries of a different architecture
(missing arm64e)
--------------------------+-----------------------
  Reporter:  saagarjha    |      Owner:  (none)
      Type:  enhancement  |     Status:  reopened
  Priority:  Normal       |  Milestone:
 Component:  base         |    Version:
Resolution:               |   Keywords:  tracemode
      Port:               |
--------------------------+-----------------------

Comment (by raimue):

 The missing part is `arm64e`, which is a new ABI to support Pointer
 Authentication as specified with ARMv8.3.

 https://developer.apple.com/documentation/security/preparing_your_app_to_work_with_pointer_authentication

 However, Apple does not consider this ABI as stable. The use of arm64e
 seems to be limited to binaries signed by Apple. As I have read, it is
 actually used in binaries in `/usr/bin` but I cannot confirm this. I
 assume (!) this limitation also applies to libraries and therefore we
 cannot just build darwintrace.dylib for arm64e and inject it into the
 process.

 Maybe a possible workaround would be to force use of arm64 for such
 binaries with something like `arch -arm64 /usr/bin/...`? This could be
 done in the SIP workaround that we have to use anyway.

-- 
Ticket URL: <https://trac.macports.org/ticket/60818#comment:5>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list