=pod =head1 NAME llvm-ld - LLVM linker =head1 SYNOPSIS B =head1 DESCRIPTION The B command is similar to the common Unix utility, C. It links together bytecode modules to produce an executable program. =head1 OPTIONS =head2 Input/Output Options =over =item B<-o> F This overrides the default output file and specifies the name of the file that should be generated by the linker. By default, B generates a file named F for compatibility with B. The output will be written to F. =item B<-l>F This option specifies the F of a library to search when resolving symbols for the program. Only the base name should be specified as F, without a F prefix or any suffix. =item B<-L>F This option tells B to look in F to find any library subsequently specified with the B<-l> option. The paths will be searched in the order in which they are specified on the command line. If the library is still not found, a small set of system specific directories will also be searched. Note that libraries specified with the B<-l> option that occur I any B<-L> options will not search the paths given by the B<-L> options following it. =item B<-link-as-library> Link the bytecode files together as a library, not an executable. In this mode, undefined symbols will be permitted. =item B<-r> An alias for -link-as-library. =item B<-march=>C Specifies the kind of machine for which code or assembly should be generated. =item B<-native> Generate a native binary instead of a shell script that runs the JIT from bytecode. =item B<-native-cbe> Generate a native binary with the C back end and compilation with GCC. =item B<-disable-compression> Do not compress bytecode files. =back =head2 Optimization Options =over =item B<-O0> An alias for the -O1 option. =item B<-O1> Optimize for linking speed, not execution speed. The optimizer will attempt to reduce the size of the linked program to reduce I/O but will not otherwise perform any link-time optimizations. =item B<-O2> Perform only the minimal or required set of scalar optimizations. =item B<-03> An alias for the -O2 option. =item B<-04> Perform the standard link time inter-procedural optimizations. This will attempt to optimize the program taking the entire program into consideration. =item B<-O5> Perform aggressive link time optimizations. This is the same as -O4 but works more aggressively to optimize the program. =item B<-disable-inlining> Do not run the inlining pass. Functions will not be inlined into other functions. =item B<-disable-opt> Completely disable optimization. The various B<-On> options will be ignored and no link time optimization passes will be run. =item B<-disable-internalize> Do not mark all symbols as internal. =item B<-verify> Run the verification pass after each of the passes to verify intermediate results. =item B<-s> Strip symbol info from the executable to make it smaller. =item B<-export-dynamic> An alias for -disable-internalize =item B<-load> F Load an optimization module, F, which is expected to be a dynamic library that provides the function name C. This function will be passed the PassManager, and the optimization level (values 0-5 based on the B<-On> option). This function may add passes to the PassManager that should be run. This feature allows the optimization passes of B to be extended. =item B<-post-link-opt>F Run post-link optimization program. After linking is completed a bytecode file will be generated. It will be passed to the program specified by F as the first argument. The second argument to the program will be the name of a temporary file into which the program should place its optimized output. For example, the "no-op optimization" would be a simple shell script: =over #!/bin/bash cp $1 $2 =back =back =head2 Miscellaneous Options =over =item B<-v> Specifies verbose mode. In this mode the linker will print additional information about the actions it takes, programs it executes, etc. =back =head1 EXIT STATUS If B succeeds, it will exit with 0 return code. If an error occurs, it will exit with a non-zero return code. =head1 ENVIRONMENT The C environment variable is used to find bytecode libraries. Any paths specified in this variable will be searched after the C<-L> options. =head1 SEE ALSO L =head1 AUTHORS Maintained by the LLVM Team (L). =cut