【发布时间】:2015-04-11 03:10:34
【问题描述】:
我使用 ubuntu 14.10 和 crosstool-ng-1.20.0 创建从主机:x86_64 到目标:i686 的工具链, 我知道 glibc 会创建 ld.so 但我不知道如何将 ld.so 中的默认路径从“/lib, /usr/lib”更改为“/lib32, /usr/lib32”。
我想在目标机器上的 ld.so 中将默认路径从“/lib, /usr/lib”更改为我的设置“/lib32, /usr/lib32”。 (因为对于 32 位库,我将每个 .so 文件都放在 /lib32 中,而对于 x86_64 而不是 i686,我会将其他 .so 文件放到 /lib 中)
我不想在编译时在主机上添加一些标志(如“-z nodeflib”、“--rpath=dir”)来更改目标机器上每个二进制文件的搜索路径。我希望每个不使用这些标志的二进制文件都可以使用 ld.so 找到正确的库
有人知道怎么做吗?
ps。 我使用 crosstool-ng 来制作 gcc-4.9 linaro, glibc-2.20 linaro, binutl ...等...
【问题讨论】:
标签: linux gcc linker toolchain crosstool-ng