从哪里获取“/etc/ld.so.nohwcap”文件?

Sha*_*mer 13 debugging system-calls dynamic-linking strace ld

当我通过strace实用程序运行命令时,我可以看到访问错误,例如

access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)

现在我在某处读到,上面一行中发生的事情是链接器正在寻找我正在运行的命令的优化版本,但找不到它。

我该如何解决这个问题?我需要安装什么软件包才能ld.so.nohwcap在系统上拥有该文件?即使不是出于优化目的而只是为了摆脱strace?

Ste*_*itt 18

你可能不想“解决”这个问题;根据Debianglibc联机帮助页ld.so

/etc/ld.so.nohwcap 当此文件存在时,动态链接器将加载库的非优化版本,即使 CPU 支持优化版本。

它不是由包安装的,它可以由系统管理员创建以禁用加载优化库。

请注意,这是特定于 Debian 的:该功能由Debian软件包中的补丁实现,glibc在 upstream 中不可用glibcld.so当后者从glibc移至man-pagesproject时,该功能的文档从联机帮助页中消失了。

  • Debian 补丁解释了为什么这很有用:Debian 支持就地 glibc 升级,并且禁用 hwcap 库使这变得更容易,原因我还没有弄清楚(也许是为了避免使用不匹配的库版本)。 (2认同)