mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-16 14:31:59 +00:00
First version of manual page for llvm-ld.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18092 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
8b88b46182
commit
28e8e42d37
161
docs/CommandGuide/llvm-ld.pod
Normal file
161
docs/CommandGuide/llvm-ld.pod
Normal file
@ -0,0 +1,161 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
llvm-ld - LLVM linker
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
B<llvm-ld> <options> <files>
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
The B<llvm-ld> command is similar to the common Unix utility, C<ld>. It
|
||||
links together bytecode modules to produce an executable program.
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
=head2 Input/Output Options
|
||||
|
||||
=over
|
||||
|
||||
=item B<-o> F<filename>
|
||||
|
||||
This overrides the default output file and specifies the name of the file that
|
||||
should be generated by the linker. By default, B<llvm-ld> generates a file named
|
||||
F<a.out> for compatibility with B<ld>. The output will be written to
|
||||
F<filename>.
|
||||
|
||||
=item B<-l>F<name>
|
||||
|
||||
This option specifies the F<name> of a library to search when resolving symbols
|
||||
for the program. Only the base name should be specified as F<name>, without a
|
||||
F<lib> prefix or any suffix.
|
||||
|
||||
=item B<-L>F<Path>
|
||||
|
||||
This option tells B<llvm-ld> to look in F<Path> 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<before> 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<target>
|
||||
|
||||
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<module>
|
||||
|
||||
Load an optimization module, F<module>, which is expected to be a dynamic
|
||||
library that provides the function name C<RunOptimizations>. 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<llvm-ld> to be extended.
|
||||
|
||||
=back
|
||||
|
||||
=head2 Miscellaneous Options
|
||||
|
||||
=item B<-v>
|
||||
|
||||
Specifies verbose mode. In this mode the linker will print additional
|
||||
information about the actions it takes, programs it executes, etc.
|
||||
|
||||
=head1 EXIT STATUS
|
||||
|
||||
If B<llvm-ld> succeeds, it will exit with 0 return code. If an error occurs,
|
||||
it will exit with a non-zero return code.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<llvm-ar|llvm-ar>
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
Maintained by the LLVM Team (L<http://llvm.cs.uiuc.edu>).
|
||||
|
||||
=cut
|
Loading…
x
Reference in New Issue
Block a user