我的问题
我正在尝试编写一个共享库(不是一个可执行文件,所以请不要告诉我使用-no-pie)与程序集和C一起使用单独的文件(不是内联程序集)。
我希望通过汇编代码中的全局偏移表访问C全局变量,因为调用的函数可以在任何其他共享库中定义。
我知道PLT/GOT文件,但我不知道如何告诉编译器正确地为链接器生成重新定位信息(语法是什么),以及如何告诉链接器使用该信息重新定位我的代码(链接器选项是什么)。
我的代码使用链接错误进行编译。
/bin/ld: tracer.o: relocation R_X86_64_PC32 against
/bin/ld: final link failed: bad