# LLVM: `llvm-link` tool

### NAME

`llvm-link`

### SYNOPSIS

`llvm-link [options] <filename> [filename ...]`

### DESCRIPTION

The `llvm-link` command takes several LLVM bytecode files and links them together into a single LLVM bytecode file. It writes the output file to standard output, unless the -o option is used to specify a filename.

The `llvm-link` command attempts to load the input files from the current directory. If that fails, it looks for each file in each of the directories specified by the -L options on the command line. The library search paths are global; each one is searched for every input file if necessary. The directories are searched in the order they were specified on the command line.

### OPTIONS

- -L <directory>
  Add the specified directory to the library search path. When looking for libraries, `llvm-link` will look in pathname for libraries. This option can be specified multiple times; `llvm-link` will search inside these directories in the order in which they were specified on the command line.

- -f
  Overwrite output files. By default, `llvm-link` will not overwrite an output file if it alreadys exists.

- -o <filename>
  Output filename. If filename is -, then `llvm-link` will write its output to standard output.

- -d
  If specified, `llvm-link` prints a human-readable version of the output bytecode file to standard error.

- -help
  Print a summary of command line options.

- -v
  Verbose mode. Print information about what `llvm-link` is doing. This typically includes a message for each bytecode file linked in and for each library found.

### EXIT STATUS

If `llvm-link` succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

### SEE ALSO

`gccld`

Maintained by the LLVM Team.