从/ usr / bin / ldd检查源代码,我看到它使用ld-linux查找可执行文件的依赖项,尽管它首先使用--verify参数调用ld-linux。然后脚本根据ld-linux --verify调用的退出代码采取不同的行为。
ld-linux的手册页没有提供退出代码的任何信息,谷歌搜索没有任何价值。是否有任何文档(除了查看ld-linux的源代码),它提供了ld-linux --verfify的退出代码列表及其各自的含义?
答案 0 :(得分:4)
我没有找到任何文件,但是......
if (__builtin_expect (mode, normal) == verify)
{
/* We were called just to verify that this is a dynamic
executable using us as the program interpreter. Exit with an
error if we were not able to load the binary or no interpreter
is specified (i.e., this is no dynamically linked binary. */
if (main_map->l_ld == NULL)
_exit (1);
/* We allow here some platform specific code. */
#ifdef DISTINGUISH_LIB_VERSIONS
DISTINGUISH_LIB_VERSIONS;
#endif
_exit (has_interp ? 0 : 2);
}
因此...
没有其他代码。
答案 1 :(得分:1)
我做了一些实验,退出状态在成功时为零,在失败时为1。这包括怪诞的滥用,例如要求它验证shell脚本。
你可以安全地假设成功为零,非零失败,没有其他信息。