奇怪的函数执行问题

1、必须有后面的三句分别赋值语句,才能调用成功,否则会出现后面的错误。


2、通过syscalls[num]()调用函数不成功,函数可以直接执行。

1、2两种报同样错误,其中sepc是函数的地址。
1735655698761
这是vf2下遇到的,是编译选项问题吗

看 gcc 源码。

重点检查relocation,看一下编译时用的pie还是nopie,链接地址是否和加载地址一致。

多谢!


已关闭pie,开启pie也不行。
链接地址和加载地址是一致的,map的时候虚实一致。
1735695606789