如何更改ld.so中的默认路径

时间:2015-04-11 03:10:35

标签: linux gcc linker toolchain crosstool-ng

我使用ubuntu 14.10和crosstool-ng-1.20.0从主机创建工具链:x86_64到target:i686, 我知道glibc会创建ld.so但我不知道如何更改ld.so中的默认路径来自" / lib,/ usr / lib" to" / lib32,/ usr / lib32"。

  1. 我想更改" / lib,/ usr / lib"的默认路径。到我的设置" / lib32,/ usr / lib32"在我的目标机器上的ld.so中。 (因为我将每个.so文件放在/ lib32中用于32位库,并将其他.so文件放到/ lib for x86_64而不是i686)

  2. 我不想在编译时在主机上添加一些标志(例如" -z nodeflib"," - rpath = dir")来改变每一个二进制文件在目标计算机上的搜索路径。我希望每个二进制文件都不使用这些标志,可以使用ld.so来查找正确的库

  3. 有谁知道怎么做?

    PS。 我使用crosstool-ng来制作 gcc-4.9 linaro, glibc-2.20 linaro, binutl ......等......

1 个答案:

答案 0 :(得分:0)

您可能不需要更改默认路径,而是添加路径到配置。

根据您的系统,ld.so可配置为/etc /中的文件,并且可能位于“/etc/ld.so.conf.d/etc/ld.so.d下的文件中。 ld.soldconfig的手册页是开始阅读的好地方。