【发布时间】:2020-02-04 22:44:24
【问题描述】:
我必须为一个非常古老的 Linux 系统编译一个简单的二进制文件。我在目标机器上没有可用的 gcc/build 库,但我可以访问该机器。
我无法在我的机器上编译代码并让它在目标机器上执行。
我正在将 libc.so 复制到我的本地机器并尝试编译和链接程序,以便它可以在目标机器上执行。
我已将 libc 从目标机器复制到我的机器上,并尝试用我的目标可执行文件编译它。
这已经接近成功执行:
gcc -nostdlib ./libc-[version].so myFile.c -emain -o outfile.out
在执行时会运行一个非常简单的 PoC 测试程序,然后在退出时出现 seg 错误。实际的程序只是分段错误。
看来我对链接有点缺乏了解。有什么帮助吗?
【问题讨论】:
标签: gcc linker cross-compiling