如何查看我使用的 bfd 版本?

如何查看我使用的 bfd 版本?

我在 Linux 機器上運行該命令時遇到了一個錯誤gcc,在谷歌搜尋該錯誤時我發現人們說它已在庫的較新版本中修復bfd。進一步搜索,我發現,這bfd可能是一個在構建時鏈接的靜態庫gcc,而不是共享動態庫,但我不確定。

如何找出gcc我所擁有的版本是bfd靜態使用還是動態使用以及什麼版本bfd

答案1

BFD 是構成 GNU Binutils 的程式所使用的函式庫,其中包括ldgold、 和as等。它們通常裝在一個名為二進位工具binutils-dev(Debian 和朋友們)或者binutils 開發(Fedora/RHEL)。您可以使用開關執行上述任何程式-V來取得其版本號。您可以用來readelf列出它們的依賴關係。列出ld包含其類型的依賴項:

readelf -d `which ld`

Dynamic section at offset 0xc900c contains 28 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libbfd-2.22-system.so]
 0x00000001 (NEEDED)                     Shared library: [libz.so.1]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]

我不太熟悉 GCC 的內部運作方式,但我想說,認為 GCC 與 BFD 有連結是很奇怪的。

相關內容