LLVM-LINK(1)
hey bestie π welcome to the llvm-link(1) page, straight out of the LLVM universe. buckle up, we're linking bitcode and being iconic about it β¨
πΈ NAME πΈ
llvm-link β the LLVM bitcode linker, no cap π§
β¨ SYNOPSIS β¨
llvm-link [options] filename ...
π¦ DESCRIPTION π¦
okay so here's the vibe: llvm-link takes a bunch of LLVM bitcode files and links them together into one single LLVM bitcode file π
it writes the output file to standard output, unless you use the -o option to specify a filename. that's literally the whole main character energy of this tool π
π OPTIONS π
-fβ enables binary output on terminals. normally,llvm-linkwill refuse to write raw bitcode output if the output stream is a terminal π€ with this option,llvm-linkwill write raw bitcode regardless of the output device. slay, but respectfully π«Ά-ofilename β picks the output file name. if filename is"-", thenllvm-linkwill write its output to standard output β¨-Sβ writes output in LLVM intermediate language instead of bitcode. fancy π-dβ if specified,llvm-linkprints a human-readable version of the output bitcode file to standard error π--helpβ prints a summary of command line options. your little cheat sheet π-vβ verbose mode, bestie. prints information about whatllvm-linkis doing, which typically includes a message for each bitcode file linked in and for each library found π₯--override<filename> β adds the passed-in file to the link and overrides symbols that have already been declared with the definitions in the file that is passed in. this flag can be specified multiple times to have multiple files act as overrides. if a symbol is declared more than twice, the definition from the file declared last takes precedence π periodt.--import<function:filename> β specifies a function that should be imported from the specified file for linking with ThinLTO. this option can be specified multiple times to import multiple functions π--summary-index<filename> β specifies the path to a file containing the module summary index with the results of an earlier ThinLTO link. this option is required when--importis used β οΈ like, mandatory mandatory.--internalizeβ maintains existing linkage for symbols defined in the first input and converts linkage in all other inputs to internal linkage unless they are referenced byllvm*.usedor are special-cased runtime functions (e.g. stack protector runtime) π§--disable-debug-info-type-mapβ disables the use of a uniquing type map for debug info π--only-neededβ links only needed symbols. minimalism, but make it linker π--disable-lazy-loadingβ disables lazy module loading. no more lazy bestie π--suppress-warningsβ suppresses all linker warnings π€«--preserve-bc-uselistorderβ preserves the use-list order when writing LLVM bitcode β--preserve-ll-uselistorderβ preserves the use-list order when writing LLVM assembly β--ignore-non-bitcodeβ do not error out when a non-bitcode file is encountered while processing an archive π
π EXIT STATUS π
if llvm-link succeeds, it will exit with 0. otherwise, if an error occurs, it will exit with a non-zero value. simple as that π
π AUTHOR π
maintained by the LLVM Team (https://llvm.org/) β iconic behavior, honestly π«Ά
π COPYRIGHT π
2003-2026, LLVM Project
bye bestie πΈ this lil rewrite was served fresh from LLVM-LINK(1), source/version 23, dated 2026-10-06 β mwah π
π¦ where this page comes from
- centos-stream 9: llvm 23.1.3-1.el9 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- centos-stream 9: llvm 23.1.3-1.el9 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms