![](/img/trans.png)
[英]Detect when linking a binary has finished by looking at just the executable?
我們的項目所用語言的構建工具會並行編譯和鏈接,用於許多不同的二進制文件等。 在 CI 中,我們有一個單獨的線程來查找這些已編譯的二進制文件,因為它們可用並啟動其他進程。 問題是似乎僅僅等待文件存在並變成chmod a+x是不夠的,有時我們最終會上傳損壞的二進制文件。 有什么方法可以僅通過查看文件來 ...
[英]Detect when linking a binary has finished by looking at just the executable?
我們的項目所用語言的構建工具會並行編譯和鏈接,用於許多不同的二進制文件等。 在 CI 中,我們有一個單獨的線程來查找這些已編譯的二進制文件,因為它們可用並啟動其他進程。 問題是似乎僅僅等待文件存在並變成chmod a+x是不夠的,有時我們最終會上傳損壞的二進制文件。 有什么方法可以僅通過查看文件來 ...
[英]LLVM IR for a large C project
我是 LLVM 的新手,clang 等。我的主要需求是將 C 代碼轉換為 LLVM IR (.ll),然后將其解析為類似匯編的語言。 為此,我現在一直在使用小長度的 c 代碼(單個文件)並將它們轉換為我使用的 LLVM IR - 要使用大型 C 項目進行此轉換,我嘗試了 gllvm - https ...
[英]Linking error: construction vtable defined in a discarded section
最初的問題分布在來自不同項目的數十萬個 LoC 中。 它包含很多成分:內聯匯編、虛擬繼承、間接級別、不同的編譯器和編譯器選項。 (這就像一部驚悚片。)我很難簡化為這個 SSCCE: 使用這些命令行構建: 鏈接器輸出是: 我相信 gcc、clang 或 gold 中都存在錯誤。 我的問題 ...
[英]Is it safe for ld to interpret executables linked by gold?
取一個簡單的hello world程序,編譯如下: 檢查生成的二進制文件: 請注意,使用的解釋器是ld 。 雖然該程序恰好可以工作,但我無法找到任何有關這是否安全的信息。 據我所知, gold以一種微妙不同且不兼容的方式解釋 ELF 規范,需要不同的解釋器。 我已盡我所能對此進行研究,但找不到任何 ...
[英]How to force GCC to use ld.gold if real-ld executable exists in compiler search path?
我發現當 GCC(在 GCC 4.8 和 GCC 6.4 上嘗試過)在其搜索路徑中找到real-ld可執行文件時,它會默默地忽略-fuse-ld=...選項,並使用real-ld而不是適當的鏈接器. 通常,沒有real-ld它將按預期工作: GCC 的文檔表明將使用gold鏈接器。 c ...
[英]Link static library directly into an executable using ld.gold
我有一個libfoo.a ,其中包含_start和可執行文件的所有必需符號。 ld.bfd -o foo libfoo.a在我的情況下工作順利。 但是, ld.gold -o foo libfoo.a無法從libfoo.a靜默生成沒有符號的可執行文件。 創建一個空的ao並將其與ld.gol ...
[英]How do the library selection rules differ between gold and the standard (bfd) linker?
我知道標准ld.bfd按照指定的順序處理靜態庫,從每個庫中提取滿足未滿足(在該時間點)依賴性的對象。 黃金是否遵循相同的過程,並且在任何地方都有記錄嗎? 我看到一種情況,黃金比ld.bfd引入了更多的* .so文件(我正在使用--as-needed選項),並試圖弄清為什么以及總體上還有哪 ...
[英]undefined behavior in shared lib using libpthread, but not having it in ELF as dependency
當“正確”鏈接(進一步解釋)時,下面的兩個函數調用都無限期地阻塞pthread調用實現cv.notify_one和cv.wait_for : 當以上共享庫用於以下應用程序時: 僅在鏈接libodr.so時libodr.so重現問題: 用g ++ 與金鏈接器 ...
[英]Gold fails to make a relocatable object file from a static library
首先,我要說的是我在與鏈接器相關的事情上是菜鳥。 如果我說的話似乎沒有任何意義,那可能就沒有意義-請就此告訴我。 我有以下文件: bar.rs foo.c 我可以使用以下命令將它們鏈接到一個可重定位的目標文件中: 我不確定幕后到底發生了什么,但是我確定 ...
[英]where's to find all the ldflags shortcuts or its documentation?
當構建系統告訴我它發現了對某物的未定義引用時,我總是感到困惑。 很明顯,未定義的參考錯誤與最終鏈接有關,因此,它會與構建系統中的LDFLAGS變量有關。 但是如何找到包裝到底想要什么呢? 例如,如果程序包鏈接-lm則表示它需要libm ,但是我遇到了許多這樣的標志,有時即使查看構建系統,我 ...
[英]c++17, lto, -static-libstdc++ issue: Warning: relocation refers to discarded section with ld.gold, then segfault in __run_exit_handlers
我正在尋求一些有關如何調試重大問題的建議,我無法將其簡化為最小的示例。 問題:我編譯了鏈接到許多不同庫的應用程序。 這些標志包括: -static-libstdc++ -static-libgcc -pipe -std=c++1z -fno-PIC -flto=10 -m64 -O3 - ...
[英]What's the difference between `-rpath-link` and `-L`?
gold人說: bfd ld的 man 聽起來有點像-rpath-link用於遞歸包含的 sos。 ld.lld甚至沒有將其列為參數。 有人可以為我澄清這種情況嗎? ...
[英]ld.gold: internal error in set_info_section, at output.h:3209
當我將ld遷移到黃金時,遇到以下錯誤: ld.gold:set_info_section中的內部錯誤,在output.h:3209 我的黃金是binutil-2.25-gold。 我沒有從Google得到任何線索。 有人知道嗎? 非常感謝 ...
[英]Referring to a specific symbol in a static library with the GNU gold linker
使用鏈接描述文件在地址空間中布置符號時, ld允許使用以下語法引用來自靜態庫的特定符號: 使用gold而不是ld ,似乎會忽略這樣的指令。 鏈接過程成功。 但是,當使用此指令將特定符號放在gold的特定位置並使用nm檢查生成的符號布局或查看Map文件時,該符號不在預期位置。 我 ...
[英]How do I link Intel MKL and libdl with gold linker?
我在CentOS上使用黃金鏈接器鏈接Intel MKL和libdl時遇到問題: 當我運行此腳本時: 我得到: 我們正在使用: 有任何想法嗎? ...
[英]How to link with the GNU gold linker instead of ld in Haskell
我的Haskell項目花了很多時間在Linking dist/build/myapp/myapp ...以及在執行TemplateHaskell代碼時加載共享庫。 我懷疑這是因為ld很慢。 如何通過切換到gold鏈接器來改善鏈接時間? ...
[英]Adding run-time shared library search-path to executable at compile-time | clang | Ubuntu
我正在編譯的可執行文件在運行時需要rpath到庫文件。 目前,我正在使用 然后使用以下兩種方法之一提供rpath , 將其添加到LD_LIBRARY_PATH 使用patchelf --set-rpath $RPATH a.out 我需要一種方法來指示clan ...
[英]Is it possible to compile & link Clang/LLVM using the gold linker?
我正在為LLVM / Clang編寫自定義傳遞,重新編譯往往需要一段時間並使用大量內存。 我聽說黃金鏈接器(1)花費的時間更少,(2)使用的內存比標准的ld鏈接器少。 有沒有辦法將標志傳遞到LLVM / Clang構建過程並更改為黃金鏈接器? 根據這個答案 ,我一直在嘗試使用覆蓋文件, ...
[英]error: missing expected TLS relocation in binutils-2.27/gold/testsuite
我正在使用gcc 5.3.0編譯binutils-2.27 。 以下是配置選項: 當我運行make check ,我得到 ...
[英]-fsanitize not using gold linker in GCC-6.1
更新(2016年9月30日) Uccntu構建的gcc-6.2((Ubuntu 6.2.0-3ubuntu11~16.04)6.2.0 20160901)不再存在這個問題。 我正在使用Uccntu構建的gcc-6.1 [1]((Ubuntu 6.1.1-3ubuntu11~14.0 ...