mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-23 17:29:19 +00:00
gccld is gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34092 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
394355e4cc
commit
282a7dad64
@ -1,179 +0,0 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
gccld - optimizing LLVM linker
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
B<gccld> [I<options>] I<filename ...>
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
The B<gccld> utility takes a set of LLVM bytecode files and links them
|
||||
together into a single LLVM bytecode file. The output bytecode file can be
|
||||
another bytecode library or an executable bytecode program. Using additional
|
||||
options, B<gccld> is able to produce native code executables.
|
||||
|
||||
The B<gccld> utility is primarily used by the L<llvmgcc> and
|
||||
L<llvmg++|llvmgxx> front-ends, and as such, attempts to mimic the interface
|
||||
provided by the default system linker so that it can act as a ``drop-in''
|
||||
replacement.
|
||||
|
||||
The B<gccld> tool performs a small set of interprocedural, post-link
|
||||
optimizations on the program.
|
||||
|
||||
=head2 Search Order
|
||||
|
||||
When looking for objects specified on the command line, B<gccld> will search for
|
||||
the object first in the current directory and then in the directory specified by
|
||||
the B<LLVM_LIB_SEARCH_PATH> environment variable. If it cannot find the object,
|
||||
it fails.
|
||||
|
||||
When looking for a library specified with the B<-l> option, B<gccld> first
|
||||
attempts to load a file with that name from the current directory. If that
|
||||
fails, it looks for libI<library>.bc, libI<library>.a, or libI<library>.I<shared
|
||||
library extension>, in that order, in each directory added to the library search
|
||||
path with the B<-L> option. These directories are searched in the order they
|
||||
were specified. If the library cannot be located, then B<gccld> looks in the
|
||||
directory specified by the B<LLVM_LIB_SEARCH_PATH> environment variable. If it
|
||||
does not find a library there, it fails.
|
||||
|
||||
The shared library extension may be I<.so>, I<.dyld>, I<.dll>, or something
|
||||
different, depending upon the system.
|
||||
|
||||
The B<-L> option is global. It does not matter where it is specified in the
|
||||
list of command line arguments; the directory is simply added to the search path
|
||||
and is applied to all libraries, preceding or succeeding, in the command line.
|
||||
|
||||
=head2 Link order
|
||||
|
||||
All object files are linked first in the order they were specified on the
|
||||
command line. All library files are linked next. Some libraries may not be
|
||||
linked into the object program; see below.
|
||||
|
||||
=head2 Library Linkage
|
||||
|
||||
Object files and static bytecode objects are always linked into the output
|
||||
file. Library archives (.a files) load only the objects within the archive
|
||||
that define symbols needed by the output file. Hence, libraries should be
|
||||
listed after the object files and libraries which need them; otherwise, the
|
||||
library may not be linked in, and the dependent library will not have its
|
||||
undefined symbols defined.
|
||||
|
||||
=head2 Native code generation
|
||||
|
||||
The B<gccld> program has limited support for native code generation, when
|
||||
using the B<-native> or B<-native-cbe> options.
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
=over
|
||||
|
||||
=item B<-help>
|
||||
|
||||
Print a summary of command line options.
|
||||
|
||||
=item B<-o> I<filename>
|
||||
|
||||
Specify the output filename which will hold the linked bytecode.
|
||||
|
||||
=item B<-stats>
|
||||
|
||||
Print statistics.
|
||||
|
||||
=item B<-time-passes>
|
||||
|
||||
Record the amount of time needed for each pass and print it to standard
|
||||
error.
|
||||
|
||||
=item B<-verify>
|
||||
|
||||
Verify each pass result.
|
||||
|
||||
=item B<-disable-opt>
|
||||
|
||||
Disable all link-time optimization passes.
|
||||
|
||||
=item B<-disable-inlining>
|
||||
|
||||
Do not run the inliner pass.
|
||||
|
||||
=item B<-L>I<directory>
|
||||
|
||||
Add directory to the list of directories to search when looking for
|
||||
libraries.
|
||||
|
||||
=item B<-disable-compression>
|
||||
|
||||
Do not compress the generated bytecode.
|
||||
|
||||
=item B<-disable-internalize>
|
||||
|
||||
Do not mark all symbols as internal.
|
||||
|
||||
=item B<-internalize-public-api-file> I<filename>
|
||||
|
||||
Preserve the list of symbol names in the file filename.
|
||||
|
||||
=item B<-internalize-public-api-list> I<list>
|
||||
|
||||
Preserve the symbol names in list.
|
||||
|
||||
=item B<-l>I<library>
|
||||
|
||||
Specify libraries to include when linking the output file. When linking,
|
||||
B<gccld> will first attempt to load a file with the pathname B<library>. If
|
||||
that fails, it will then attempt to load libI<library>.bc, libI<library>.a, and
|
||||
libI<library>.I<shared library extension>, in that order.
|
||||
|
||||
=item B<-link-as-library>
|
||||
|
||||
Link the .bc files together as a library, not an executable.
|
||||
|
||||
=item B<-native>
|
||||
|
||||
Generate a native machine code executable.
|
||||
|
||||
When generating native executables, B<gccld> first checks for a bytecode
|
||||
version of the library and links it in, if necessary. If the library is
|
||||
missing, B<gccld> skips it. Then, B<gccld> links in the same
|
||||
libraries as native code.
|
||||
|
||||
In this way, B<gccld> should be able to link in optimized bytecode
|
||||
subsets of common libraries and then link in any part of the library that
|
||||
hasn't been converted to bytecode.
|
||||
|
||||
=item B<-native-cbe>
|
||||
|
||||
Generate a native machine code executable with the LLVM C backend.
|
||||
|
||||
This option is identical to the B<-native> option, but uses the
|
||||
C backend to generate code for the program instead of an LLVM native
|
||||
code generator.
|
||||
|
||||
=item B<-s>
|
||||
|
||||
Strip symbol information from the generated executable.
|
||||
|
||||
=item B<-v>
|
||||
|
||||
Print information about actions taken.
|
||||
|
||||
=back
|
||||
|
||||
=head1 EXIT STATUS
|
||||
|
||||
If B<gccld> succeeds, it will exit with an exit status of 0.
|
||||
Otherwise, if an error occurs, it will exit with a non-zero exit
|
||||
status.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<llvm-link|llvm-link>, L<gccas|gccas>
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
Maintained by the LLVM Team (L<http://llvm.org>).
|
||||
|
||||
=cut
|
Loading…
Reference in New Issue
Block a user