llvm-tli-checker - 目標程式庫資訊與程式庫檢查器

語法

llvm-tli-checker [選項] [程式庫檔案…]

說明

llvm-tli-checker 會將目標程式庫資訊 (TargetLibraryInfo) 對程式庫函式可用性的判斷,與指定的程式庫檔案匯出的函式集進行比較,並報告 TLI 判斷與函式實際存在與否之間的任何差異。這主要用於供應商,以確保其目標的 TLI 正確無誤,並且編譯器不會將某些程式碼序列「最佳化」為實際上不可用的程式庫呼叫。

範例

$ llvm-tli-checker --triple x86_64-scei-ps4 example.so
TLI knows 466 symbols, 235 available for 'x86_64-scei-ps4'

Looking for symbols in 'example.so'
Found 235 global function symbols in 'example.so'
Found a grand total of 235 library symbols
<< TLI yes SDK no:  '_ZdaPv' aka operator delete[](void*)
>> TLI no  SDK yes: '_ZdaPvj' aka operator delete[](void*, unsigned int)
<< Total TLI yes SDK no:  1
>> Total TLI no  SDK yes: 1
== Total TLI yes SDK yes: 234
FAIL: LLVM TLI doesn't match SDK libraries.

選項

--dump-tli

根據指定三元組的目標程式庫資訊,針對每個程式庫函式列印「可用」/「不可用」,然後結束。此選項不會讀取任何輸入檔案。

--help, -h

列印命令列選項的摘要並結束。

--libdir=<目錄>

要預先附加到每個程式庫檔案路徑的基本目錄。當有許多程式庫檔案都在同一個目錄中,或者輸入檔名列表保存在回應檔案中時,這會很方便。

--report=<層級>

要報告的資訊量。<層級> 可以是摘要、差異或完整。摘要報告僅提供相符和不相符符號的數量;差異會列出不相符的符號;而完整則會列出 TLI 已知的所有符號,無論是否相符。預設值為差異。

--separate

分別讀取每個程式庫檔案並報告摘要。這對於識別 TLI 不知道的程式庫檔案很有用。表示 –report=summary(可以覆寫)。

--triple=<三元組>

用於初始化目標程式庫資訊的三元組。

@<檔案>

從回應檔案 <檔案> 中讀取命令列選項和/或程式庫名稱。

結束狀態碼

llvm-tli-checker 即使有不符的情況也會回傳 0。如果出現無法辨識的選項,或未提供輸入檔案,則會回傳非零的結束狀態碼。