【发布时间】:2021-06-20 05:35:55
【问题描述】:
查看反汇编代码,我看到如下指令:
adrp x8,l066@PAGE
add x8,x8,l066@PAGEOFF
它们是在某处定义的偏移标签吗?以及如何找到它们的价值?
【问题讨论】:
-
他们可能只是relocation types吗?
查看反汇编代码,我看到如下指令:
adrp x8,l066@PAGE
add x8,x8,l066@PAGEOFF
它们是在某处定义的偏移标签吗?以及如何找到它们的价值?
【问题讨论】:
@page 和 @pageoff 是用于在链接时计算偏移量的汇编程序指令。 @page 采用与位置无关的符号 4k 页偏移量,并使用 PC 将其转换为绝对页地址。 @pageoff 给出符号所在页面的偏移量。它们一起能够以与位置无关的方式生成 64 位地址。
【讨论】:
我以前没有见过这种反汇编风格,但我会自动假设l066 是反汇编程序推断的标签,它还注释了适当的重定位as Margaret says。换句话说,它实际上是adrl x8, l066。
【讨论】:
otool -Vtdj -arch arm64生成的。