mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-15 06:29:05 +00:00
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:
@@ -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] < filename></tt>
|
||||||
|
|
||||||
<h3>
|
<h3>DESCRIPTION</h3>
|
||||||
SYNOPSIS
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
gccas [options] < filename>
|
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>
|
||||||
|
@@ -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] < filename> [ filename ...]</tt>
|
||||||
|
|
||||||
<h3>
|
<h3>DESCRIPTION</h3>
|
||||||
SYNOPSIS
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
gccld [options] < filename> [ 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<library>.bc, lib<library>.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<library>.bc, lib<library>.a, or
|
||||||
lib<library>.so, in that order, in each directory added to the library
|
lib<library>.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<library>.[bc | a | so] there, it fails.
|
variable. If it does not find lib<library>.[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=<library>
|
<li> -l=<library>
|
||||||
<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<library>.bc,
|
pathname library. If that fails, it will then attempt to load
|
||||||
lib<library>.a, and lib<library>.so, in that order.
|
lib<library>.bc, lib<library>.a, and lib<library>.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.
|
||||||
|
|
||||||
|
@@ -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>
|
||||||
|
Reference in New Issue
Block a user