链接程序和库指南

减少 filtee 搜索

通过在过滤器内使用 $ISALIST,可使一个或多个 filtee 实现过滤器内定义的接口。

过滤器内定义的任何接口都可能导致全面搜索所有可能的 filtee,以尝试找到所需接口。如果使用 filtee 以提供性能关键的功能,则这种全面的 filtee 搜索可能会对效率带来负面影响。

可以使用链接编辑器的 -z endfiltee 选项生成 filtee,以指明它是最后一个可用的 filtee。此选项将终止该过滤器的任何进一步 filtee 搜索。在前面的示例中,如果存在 SPARCV9 filtee,并且它使用了 -z endfiltee 标记,则 filtee 搜索将如下所示:


$ ldd -ls prog

.....

  find object=libbar.so.1; required by ./libfoo.so.1

    search path=/opt/ISV/lib/$ISALIST  (RPATH from file ./libfoo.so.1)

      trying path=/opt/ISV/lib/sparcv9+vis/libbar.so.1

      trying path=/opt/ISV/lib/sparcv9/libbar.so.1