cost 297 ms
通過僅查看可執行文件來檢測鏈接二進制文件何時完成?

[英]Detect when linking a binary has finished by looking at just the executable?

我們的項目所用語言的構建工具會並行編譯和鏈接,用於許多不同的二進制文件等。 在 CI 中,我們有一個單獨的線程來查找這些已編譯的二進制文件,因為它們可用並啟動其他進程。 問題是似乎僅僅等待文件存在並變成chmod a+x是不夠的,有時我們最終會上傳損壞的二進制文件。 有什么方法可以僅通過查看文件來 ...

大型 C 項目的 LLVM IR

[英]LLVM IR for a large C project

我是 LLVM 的新手,clang 等。我的主要需求是將 C 代碼轉換為 LLVM IR (.ll),然后將其解析為類似匯編的語言。 為此,我現在一直在使用小長度的 c 代碼(單個文件)並將它們轉換為我使用的 LLVM IR - 要使用大型 C 項目進行此轉換,我嘗試了 gllvm - https ...

鏈接錯誤:在丟棄的部分中定義的構造 vtable

[英]Linking error: construction vtable defined in a discarded section

最初的問題分布在來自不同項目的數十萬個 LoC 中。 它包含很多成分:內聯匯編、虛擬繼承、間接級別、不同的編譯器和編譯器選項。 (這就像一部驚悚片。)我很難簡化為這個 SSCCE: 使用這些命令行構建: 鏈接器輸出是: 我相信 gcc、clang 或 gold 中都存在錯誤。 我的問題 ...

ld 解釋由黃金鏈接的可執行文件是否安全?

[英]Is it safe for ld to interpret executables linked by gold?

取一個簡單的hello world程序,編譯如下: 檢查生成的二進制文件: 請注意,使用的解釋器是ld 。 雖然該程序恰好可以工作,但我無法找到任何有關這是否安全的信息。 據我所知, gold以一種微妙不同且不兼容的方式解釋 ELF 規范,需要不同的解釋器。 我已盡我所能對此進行研究,但找不到任何 ...

如果編譯器搜索路徑中存在 real-ld 可執行文件,如何強制 GCC 使用 ld.gold?

[英]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 ...

使用ld.gold將靜態庫直接鏈接到可執行文件

[英]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 ...

Gold和標准(bfd)鏈接程序之間的庫選擇規則有何不同?

[英]How do the library selection rules differ between gold and the standard (bfd) linker?

我知道標准ld.bfd按照指定的順序處理靜態庫,從每個庫中提取滿足未滿足(在該時間點)依賴性的對象。 黃金是否遵循相同的過程,並且在任何地方都有記錄嗎? 我看到一種情況,黃金比ld.bfd引入了更多的* .so文件(我正在使用--as-needed選項),並試圖弄清為什么以及總體上還有哪 ...

使用libpthread在共享庫中的未定義行為,但沒有在ELF中將其作為依賴項

[英]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無法從靜態庫中創建可重定位的目標文件

[英]Gold fails to make a relocatable object file from a static library

首先,我要說的是我在與鏈接器相關的事情上是菜鳥。 如果我說的話似乎沒有任何意義,那可能就沒有意義-請就此告訴我。 我有以下文件: bar.rs foo.c 我可以使用以下命令將它們鏈接到一個可重定位的目標文件中: 我不確定幕后到底發生了什么,但是我確定 ...

在哪里可以找到所有ldflags快捷方式或其文檔?

[英]where's to find all the ldflags shortcuts or its documentation?

當構建系統告訴我它發現了對某物的未定義引用時,我總是感到困惑。 很明顯,未定義的參考錯誤與最終鏈接有關,因此,它會與構建系統中的LDFLAGS變量有關。 但是如何找到包裝到底想要什么呢? 例如,如果程序包鏈接-lm則表示它需要libm ,但是我遇到了許多這樣的標志,有時即使查看構建系統,我 ...

c ++ 17,lto,-static-libstdc ++問題:警告:重定位是指使用ld.gold丟棄的節,然后是__run_exit_handlers中的segfault

[英]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 - ...

`-rpath-link` 和 `-L` 有什么區別?

[英]What's the difference between `-rpath-link` and `-L`?

gold人說: bfd ld的 man 聽起來有點像-rpath-link用於遞歸包含的 sos。 ld.lld甚至沒有將其列為參數。 有人可以為我澄清這種情況嗎? ...

ld.gold:set_info_section中的內部錯誤,在output.h:3209

[英]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得到任何線索。 有人知道嗎? 非常感謝 ...

使用GNU gold鏈接器引用靜態庫中的特定符號

[英]Referring to a specific symbol in a static library with the GNU gold linker

使用鏈接描述文件在地址空間中布置符號時, ld允許使用以下語法引用來自靜態庫的特定符號: 使用gold而不是ld ,似乎會忽略這樣的指令。 鏈接過程成功。 但是,當使用此指令將特定符號放在gold的特定位置並使用nm檢查生成的符號布局或查看Map文件時,該符號不在預期位置。 我 ...

如何在Haskell中與GNU gold鏈接器而不是ld鏈接

[英]How to link with the GNU gold linker instead of ld in Haskell

我的Haskell項目花了很多時間在Linking dist/build/myapp/myapp ...以及在執行TemplateHaskell代碼時加載共享庫。 我懷疑這是因為ld很慢。 如何通過切換到gold鏈接器來改善鏈接時間? ...

在編譯時將運行時共享庫​​搜索路徑添加到可執行文件| lang Ubuntu的

[英]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 ...

是否可以使用黃金鏈接器編譯和鏈接Clang / LLVM?

[英]Is it possible to compile & link Clang/LLVM using the gold linker?

我正在為LLVM / Clang編寫自定義傳遞,重新編譯往往需要一段時間並使用大量內存。 我聽說黃金鏈接器(1)花費的時間更少,(2)使用的內存比標准的ld鏈接器少。 有沒有辦法將標志傳遞到LLVM / Clang構建過程並更改為黃金鏈接器? 根據這個答案 ,我一直在嘗試使用覆蓋文件, ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM