Files
RedBear-OS/local/recipes/dev/libclc/source/llvm/docs/CommandGuide/llvm-link.rst
T
vasilito cb424d7448 build: static patch-sanity linter (shift-left the malformed-patch class)
verify-patch-sanity.py validates every active recipe .patch has internally-
consistent hunk line counts — catching the 'malformed patch at line N' failure
at commit/CI/preflight time instead of hours into a cook. This cycle hit that
class three times (qtwaylandscanner, sddm, xwayland), each only discovered when
cookbook tried to apply the patch.

Running it across the repo found 29 latent malformed patches (validated against
GNU patch: e.g. relibc/P3-sysv-ipc reproduces 'malformed patch at line 22').
They were harmless only because they sit in vendored recipes (baked, not re-
applied) — but would fail on any version-bump re-derivation. --fix recounts the
hunk headers (body untouched) and repaired all 29.

Wired into build-preflight.sh (Phase 1.0D) and redbear-ci.yml, with a unit test
(test-patch-sanity.sh). Skips archived/legacy trees and unvalidatable formats
(empty placeholders, bare-@@ git hunks).
2026-08-01 05:13:02 +03:00

110 lines
2.9 KiB
ReStructuredText

llvm-link - LLVM bitcode linker
===============================
.. program:: llvm-link
SYNOPSIS
--------
:program:`llvm-link` [*options*] *filename ...*
DESCRIPTION
-----------
:program:`llvm-link` takes several LLVM bitcode files and links them together
into a single LLVM bitcode file. It writes the output file to standard output,
unless the :option:`-o` option is used to specify a filename.
OPTIONS
-------
.. option:: -f
Enable binary output on terminals. Normally, :program:`llvm-link` will refuse
to write raw bitcode output if the output stream is a terminal. With this
option, :program:`llvm-link` will write raw bitcode regardless of the output
device.
.. option:: -o filename
Specify the output file name. If ``filename`` is "``-``", then
:program:`llvm-link` will write its output to standard output.
.. option:: -S
Write output in LLVM intermediate language (instead of bitcode).
.. option:: -d
If specified, :program:`llvm-link` prints a human-readable version of the
output bitcode file to standard error.
.. option:: --help
Print a summary of command line options.
.. option:: -v
Verbose mode. Print information about what :program:`llvm-link` is doing.
This typically includes a message for each bitcode file linked in and for each
library found.
.. option:: --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.
.. option:: --import <function:filename>
Specify 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.
.. option:: --summary-index <filename>
Specify the path to a file containing the module summary index with the
results of an earlier ThinLTO link. This option is required when
`--import` is used.
.. option:: --internalize
Internalize the linked symbols.
.. option:: --disable-debug-info-type-map
Disables the use of a uniquing type map for debug info.
.. option:: --only-needed
Link only needed symbols.
.. option:: --disable-lazy-loading
Disable lazy module loading.
.. option:: --suppress-warnings
Suppress all linker warnings.
.. option:: --preserve-bc-uselistorder
Preserve the use-list order when writing LLVM bitcode.
.. option:: --preserve-ll-uselistorder
Preserve the use-list order when writing LLVM assembly.
.. option:: --ignore-non-bitcode
Do not error out when a non-bitcode file is encountered while processing
an archive.
EXIT STATUS
-----------
If :program:`llvm-link` succeeds, it will exit with 0. Otherwise, if an error
occurs, it will exit with a non-zero value.