%rip相对寻址何时以及如何解决?

问题描述

执行以下汇编程序:

_start:
    mov myvar,%rax
    mov myvar(%rip),%rax

gdb中运行时,产生以下内容:

!0x00000000004000b0  ? mov    0x600107,%rax
 0x00000000004000b8  ? mov    0x200048(%rip),%rax        # 0x600107
 0x00000000004000bf  ? mov    0x200041(%rip),%rax        # 0x600107
 0x00000000004000c6  ? mov    0x20003a(%rip),%rax        # 0x600107
 0x00000000004000cd  ? mov    0x200033(%rip),%rax        # 0x600107

当然,所有myvar引用都解析为0x600107也就不足为奇了。 %rip相对项目在哪里(或者什么时候是一个更好的问题)解析为实际地址?该过程如何在高水平上起作用?

相关Why does this MOVSS instruction use RIP-relative addressing?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...