More changes and updates

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8935 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2003-10-07 20:01:09 +00:00
parent aaba10cb2f
commit 537a02c582
3 changed files with 108 additions and 131 deletions

View File

@@ -1,34 +1,28 @@
<html> <html>
<title> <title>LLVM: gccas tool</title>
LLVM: gccas tool
</title>
<body> <body>
<center> <center>
<h1>LLVM: gccas tool</h1> <h1>LLVM: <tt>gccas</tt> tool</h1>
</center> </center>
<HR> <HR>
<h3> <h3>NAME</h3>
NAME <tt>gccas</tt>
</h3>
gccas <h3>SYNOPSIS</h3>
<tt>gccas [options] &lt; filename&gt;</tt>
<h3> <h3>DESCRIPTION</h3>
SYNOPSIS
</h3>
gccas [options] &lt; filename&gt; The <tt>gccas</tt> utility takes an LLVM assembly file generated by the <a
<h3> href="llvmgcc.html">C</a> or <a href="llvmgxx.html">C++</a> frontends and
DESCRIPTION converts it into an LLVM bytecode file. It is primarily used by the GCC front
</h3> end, and as such, attempts to mimic the interface provided by the default system
assembler so that it can act as a "drop-in" replacement.<p>
The gccas utility takes an LLVM assembly file generated by GCC and converts it <tt>gccas</tt> performs a number of optimizations on the input program.<p>
into an LLVM bytecode file. It is primarily used by the GCC front end, and as
such, attempts to mimic the interface provided by the default system assembler
so that it can act as a "drop-in" replacement.
<h3> <h3>
OPTIONS OPTIONS
@@ -66,13 +60,12 @@ OPTIONS
EXIT STATUS EXIT STATUS
</h3> </h3>
If gccas succeeds, it will exit with 0. Otherwise, if an error occurs, it If <tt>gccas</tt> succeeds, it will exit with 0. Otherwise, if an error occurs,
will exit with a non-zero value. it will exit with a non-zero value.
<h3> <h3>SEE ALSO</h3>
SEE ALSO <a href="llvm-as.html"><tt>llvm-as</tt></a>
</h3> <a href="gccld.html"><tt>gccld</tt></a>
llvm-dis
<HR> <HR>
<a href="http://llvm.cs.uiuc.edu">LLVM Team</a> <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>

View File

@@ -1,69 +1,64 @@
<html> <html>
<title> <title>LLVM: gccld tool</title>
LLVM: gccld tool
</title>
<body> <body bgcolor=white>
<center> <center><h1>LLVM: <tt>gccld</tt> tool</h1></center>
<h1>LLVM: gccld tool</h1>
</center>
<HR> <HR>
<h3> <h3>NAME</h3>
NAME <tt>gccld</tt>
</h3>
gccld <h3>SYNOPSIS</h3>
<tt>gccld [options] &lt; filename&gt; [ filename ...]</tt>
<h3> <h3>DESCRIPTION</h3>
SYNOPSIS
</h3>
gccld [options] &lt; filename&gt; [ filename ...] The <tt>gccld</tt> utility takes a set of LLVM bytecode files and links them
<h3> together into a single LLVM bytecode file. The output bytecode file can be
DESCRIPTION another bytecode library or an executable bytecode program. Using additional
</h3> options, <tt>gccld</tt> is able to produce native code executables.
The 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,
gccld is able to produce native code executables.
<p> <p>
The gccld utility is primarily used by the GCC front end, and as such, attempts
to mimic the interface provided by the default system linker so that it can act
as a "drop-in" replacement.
<h4> The <tt>gccld</tt> utility is primarily used by the <a href="llvmgcc.html">C</a>
Search Order and <a href="llvmgxx.html">C++</a> front-ends, and as such, attempts to mimic
</h4> the interface provided by the default system linker so that it can act as a
When looking for objects specified on the command line, gccld will search for "drop-in" replacement.
the object first in the current directory and then in the directory specified
by LLVM_LIB_SEARCH_PATH. If it cannot find the object, it fails.
<p> <p>
When looking for a library specified with the -l option, gccld first attempts
to load a file with that name from the current directory. If that fails, it The <tt>gccld</tt> tool performs a small set of interprocedural, post-link,
looks for lib&lt;library&gt;.bc, lib&lt;library&gt;.a, or optimizations on the program.
<h4>Search Order</h4>
When looking for objects specified on the command line, <tt>gccld</tt> will
search for the object first in the current directory and then in the directory
specified by the <tt>LLVM_LIB_SEARCH_PATH</tt> environment variable. If it
cannot find the object, it fails.
<p>
When looking for a library specified with the -l option, <tt>gccld</tt> first
attempts to load a file with that name from the current directory. If that
fails, it looks for lib&lt;library&gt;.bc, lib&lt;library&gt;.a, or
lib&lt;library&gt;.so, in that order, in each directory added to the library lib&lt;library&gt;.so, in that order, in each directory added to the library
search path with the -L option. These directories are searched in order they search path with the -L option. These directories are searched in order they
were specified. If the library cannot be located, then gccld looks in the were specified. If the library cannot be located, then <tt>gccld</tt> looks in
directory specified by the LLVM_LIB_SEARCH_PATH environment variable. If it the directory specified by the <tt>LLVM_LIB_SEARCH_PATH</tt> environment
does not find lib&lt;library&gt;.[bc | a | so] there, it fails. variable. If it does not find lib&lt;library&gt;.[bc | a | so] there, it fails.
The -L option is global. It does not matter where it is specified in the list The -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 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. is applied to all libraries, preceding or succeeding, in the command line.
<h4> <h4>Link order</h4>
Link order
</h4>
All object files are linked first in the order they were specified on the 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 command line. All library files are linked next. Some libraries may not be
linked into the object program; see below. linked into the object program; see below.
<h4> <h4>Library Linkage</h4>
Library Linkage
</h4>
Object files and static bytecode objects are always linked into the output Object files and static bytecode objects are always linked into the output
file. Library archives (.a files) load only the objects within the archive file. Library archives (.a files) load only the objects within the archive
that define symbols needed by the output file. Hence, libraries should be that define symbols needed by the output file. Hence, libraries should be
@@ -71,13 +66,13 @@ 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 library may not be linked in, and the dependent library will not have its
undefined symbols defined. undefined symbols defined.
<h4> <h4>Native code generation</h4>
Native code generation
</h4> The <tt>gccld</tt> program has limited support for native code generation, when
The gccld program has limited support for native code generation. using the -native option.
<h3>
OPTIONS
</h3> <h3>OPTIONS</h3>
<ul> <ul>
<li> -help <li> -help
@@ -129,10 +124,11 @@ OPTIONS
<li> -l=&lt;library&gt; <li> -l=&lt;library&gt;
<br> <br>
Specify libraries to include when linking the output file. When linking, Specify libraries to include when linking the output file. When
gccld will first attempt to load a file with the pathname library. If that linking, <tt>gccld</tt> will first attempt to load a file with the
fails, it will then attempt to load lib&lt;library&gt;.bc, pathname library. If that fails, it will then attempt to load
lib&lt;library&gt;.a, and lib&lt;library&gt;.so, in that order. lib&lt;library&gt;.bc, lib&lt;library&gt;.a, and lib&lt;library&gt;.so,
in that order.
<p> <p>
<li> -link-as-library <li> -link-as-library
@@ -144,13 +140,14 @@ OPTIONS
<br> <br>
Generate a native, machine code executable. Generate a native, machine code executable.
<p> <p>
When generating native executables, gccld first checks for a bytecode version When generating native executables, <tt>gccld</tt> first checks for a bytecode
of the library and links it in, if necessary. If the library is missing, version of the library and links it in, if necessary. If the library is
gccld skips it. Then, gccld links in the same libraries as native code. missing, <tt>gccld</tt> skips it. Then, <tt>gccld</tt> links in the same
libraries as native code.
<p> <p>
In this way, gccld should be able to link in optimized bytecode subsets of In this way, <tt>gccld</tt> should be able to link in optimized bytecode
common libraries and then link in any part of the library that hasn't been subsets of common libraries and then link in any part of the library that
converted to bytecode. hasn't been converted to bytecode.
<p> <p>
<li> -s <li> -s
@@ -163,21 +160,16 @@ OPTIONS
Print information about actions taken. Print information about actions taken.
</ul> </ul>
<h3> <h3>EXIT STATUS</h3>
EXIT STATUS
</h3>
If gccld succeeds, it will exit with 0. Otherwise, if an error occurs, it If <tt>gccld</tt> succeeds, it will exit with 0. Otherwise, if an error occurs,
will exit with a non-zero value. it will exit with a non-zero value.
<h3> <h3>SEE ALSO</h3>
SEE ALSO <a href="llvm-link.html"><tt>llvm-link</tt></a>
</h3> <a href="gccas.html"><tt>gccas</tt></a>
gccas
<h3> <h3>BUGS</h3>
BUGS
</h3>
The -L option cannot be used for find native code libraries when using the The -L option cannot be used for find native code libraries when using the
-native option. -native option.

View File

@@ -6,37 +6,30 @@ LLVM: llvmg++ tool
<body> <body>
<center> <center>
<h1>LLVM: llvmg++ tool</h1> <h1>LLVM: <tt>llvmg++</tt> tool</h1>
</center> </center>
<HR> <HR>
<h3> <h3>NAME</h3>
NAME <tt>llvmg++</tt>
</h3>
llvmg++ <h3>SYNOPSIS</h3>
<tt>llvmg++ [options] filename</tt>
<h3> <h3>DESCRIPTION</h3>
SYNOPSIS
</h3>
llvmg++ [options] filename The <tt>llvmg++</tt> command is the LLVM C++ front end. It is a modified
<h3> version of g++ that takes C++ programs and compiles them into LLVM bytecode or
DESCRIPTION assembly language, depending upon the options.
</h3>
The llvmg++ command is the LLVM C++ front end. It is a modified version of g++
that takes C++ programs and compiles them into LLVM bytecode or assembly
language, depending upon the options.
<p> <p>
The llvmg++ program uses the LLVM assembler gccas and the LLVM linker gccld to The <tt>llvmg++</tt> program uses the <tt>gccas</tt> and <tt>gccld</tt> to
do the work of creating complete programs. assist with the creation of complete programs.
<p> <p>
Being derived from the GNU Compiler Collection, llvmg++ has many of g++'s Being derived from the <a href="http://gcc.gnu.org">GNU Compiler Collection</a>,
features and accepts most of g++'s options. It handles a number of g++'s <tt>llvmg++</tt> has many of g++'s features and accepts most of g++'s options.
extensions to the C++ programming language. It handles a number of g++'s extensions to the C++ programming language.
<p> <p>
Below you will find several commonly used options: Below you will find several commonly used options:
@@ -54,15 +47,14 @@ OPTIONS
<li> -c <li> -c
<br> <br>
Do not generate a linked executable. Rather, compile the source file into Do not generate a linked executable. Rather, compile the source file
an LLVM bytecode file. This bytecode file can then be linked with other into an LLVM bytecode file. This bytecode file can then be linked with
bytecode files later on to generate a full LLVM executable. other bytecode files later on to generate a full LLVM executable.
<p> <p>
<li> -o <i>filename</i> <li> -o <i>filename</i>
<br> <br>
Specify the output file to be <i>filename</i>. If <i>filename</i> is -, Specify the output file to be <i>filename</i>.
then llvmgcc sends its output to standard output.
<p> <p>
<li> -I <i>directory</i> <li> -I <i>directory</i>
@@ -79,8 +71,8 @@ OPTIONS
<li> -l<i>name</i> <li> -l<i>name</i>
<br> <br>
Link in the library lib<i>name</i>.[bc | a | so]. This library should be Link in the library lib<i>name</i>.[bc | a | so]. This library should
a bytecode library. be a bytecode library.
<p> <p>
<li>-Wl,<i>option</i> <li>-Wl,<i>option</i>
@@ -94,15 +86,15 @@ OPTIONS
EXIT STATUS EXIT STATUS
</h3> </h3>
If llvmg++ succeeds, it will exit with 0. Otherwise, if an error occurs, it If <tt>llvmg++</tt> succeeds, it will exit with 0. Otherwise, if an error
will exit with a non-zero value. occurs, it will exit with a non-zero value.
<h3> <h3>
SEE ALSO SEE ALSO
</h3> </h3>
<A HREF="llvmgcc.html">llvmg++</A>, <A HREF="llvmgcc.html"><tt>llvmg++</tt></A>,
<A HREF="gccas.html">gccas</A>, <A HREF="gccas.html"><tt>gccas</tt></A>,
<A HREF="gccld.html">gccld</A> <A HREF="gccld.html"><tt>gccld</tt></A>
<HR> <HR>
<a href="http://llvm.cs.uiuc.edu">LLVM Team</a> <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>