Oracle® Solaris 11.2 链接程序和库指南

退出打印视图

更新时间: 2014 年 7 月
 
 

减少 filtee 搜索

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

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

可以使用链接编辑器的 –z endfiltee 选项生成 filtee,以指明它是最后一个可用的 filtee。此选项将终止该过滤器的任何进一步 filtee 搜索。在前面的 SPARC 示例中,如果存在 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