我有一个奇怪的Linux系统,其中大多数软件是针对Glibc编译的,而另一些则针对uClibc编译的。

由于在我启动和执行时Linux是标准发行版,因此从glibc调用了标准动态链接器(/lib/ld.so.1)。

我正在寻找一种在启动任何可执行文件之前指定动态加载器的方法,因此当我要运行针对uClibc编译的软件时,我可以定义启动机制以使用uClibc动态加载器(/lib/ld-uClibc.so.0 )。

有任何想法吗?

最佳答案



在使用uClibc链接器针对--dynamic-linker进行构建时,您应该指定正确的动态加载器。例如。

gcc -nostdlib -Wl,--dynamic-linker=/lib/ld-uClibc.so.0 \
   /lib/uClibc-crt1.o main.o -L/path/to/uClibc -lc

08-27 22:27