【发布时间】:2020-10-27 19:53:08
【问题描述】:
现在Apple的平台终于做出了架构的决定,我开始在Darwin上学习arm64汇编,在.data部分我没有找到任何关于如何加载地址的信息。
在 Linux 上,这是可行的:
ldr X1, =symbol
.data
symbol: .ascii "foo"
Apple 有一篇文章为什么这不适用于 Mach-O 二进制文件,以及 how it is done on x86 和 @GOTPCREL,但这并没有告诉我 Clang 汇编程序如何在 Apple Silicon 上处理这个问题。
(将数据放入 .text 部分没有帮助,因为我需要它是可写的)
感谢任何信息!
【问题讨论】:
-
你可以用 C 来写,看看编译器做了什么?
-
我试过了,反汇编有一半的帮助。请参阅下面的解决方案
-
在这里查看答案stackoverflow.com/questions/56985859/ios-arm64-syscalls/… 以获取一些示例
标签: ios macos arm64 darwin apple-silicon