libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc2a64ee000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc2a6ccf000)
ldd指出/tools/bin/x86_64-lfs-linux-gnu-ld本身运行时需要哪些库的支撑,因为它是用宿主系统的gcc编译出来的,所以,它运行时要有/lib下的一些库的支撑。
readelf -l /tools/bin/$LFS_TGT-ld
Requesting program interpreter: /lib64/ld-linux-x86-64.so.2
readelf指出/tools/bin/x86_64-lfs-linux-gnu-ld是动态链接的,启动时,需要/lib64/ld-linux-x86-64.so.2这个宿主系统里的加载器。
/tools/bin/$LFS_TGT-ld -verbose|grep SEARCH_DIR
SEARCH_DIR("/tools/x86_64-lfs-linux-gnu/lib64"); SEARCH_DIR("/tools/x86_64-lfs-linux-gnu/lib"); SEARCH_DIR("/tools/lib64");
因为在这样的构造过程中,目标系统的硬件和宿主系统的硬件是一样的,所以/tools/bin/x86_64-lfs-linux-gnu-ld现在就能运行。这里,看到的是它在执行链接操作时,会从/tools/下的几个位置寻找库文件使用。
看到这些结果,正是我们所预期的。