mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-26 05:00:26 +00:00
add new FAQ entry
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10078 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6ff1a9272d
commit
cc33d70a92
@ -50,7 +50,7 @@
|
|||||||
<li>Why do test results differ when I perform different types of builds?</li>
|
<li>Why do test results differ when I perform different types of builds?</li>
|
||||||
</ol></li>
|
</ol></li>
|
||||||
|
|
||||||
<li><a href="#cfe">GCC Front End</a>
|
<li><a href="#cfe">Using the GCC Front End</a>
|
||||||
<ol>
|
<ol>
|
||||||
<li>
|
<li>
|
||||||
When I compile software that uses a configure script, the configure script
|
When I compile software that uses a configure script, the configure script
|
||||||
@ -64,6 +64,13 @@
|
|||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li><a href="#cfe_code">Questions about code generated by the GCC front-end</a>
|
||||||
|
<ol>
|
||||||
|
<li>What is this <tt>__main()</tt> call that gets inserted into
|
||||||
|
<tt>main()</tt>?</li>
|
||||||
|
</ol>
|
||||||
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<!-- *********************************************************************** -->
|
<!-- *********************************************************************** -->
|
||||||
@ -322,7 +329,7 @@ build.</p>
|
|||||||
|
|
||||||
<!-- *********************************************************************** -->
|
<!-- *********************************************************************** -->
|
||||||
<div class="doc_section">
|
<div class="doc_section">
|
||||||
<a name="cfe">GCC Front End</a>
|
<a name="cfe">Using the GCC Front End</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="question">
|
<div class="question">
|
||||||
@ -367,14 +374,14 @@ not linking on your system because the feature isn't available on your system.
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="question"
|
<div class="question">
|
||||||
<p>
|
<p>
|
||||||
When I compile code using the LLVM GCC front end, it complains that it cannot
|
When I compile code using the LLVM GCC front end, it complains that it cannot
|
||||||
find crtend.o.
|
find crtend.o.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="answer"
|
<div class="answer">
|
||||||
<p>
|
<p>
|
||||||
In order to find crtend.o, you must have the directory in which it lives in
|
In order to find crtend.o, you must have the directory in which it lives in
|
||||||
your LLVM_LIB_SEARCH_PATH environment variable. For the binary distribution of
|
your LLVM_LIB_SEARCH_PATH environment variable. For the binary distribution of
|
||||||
@ -382,6 +389,38 @@ the LLVM GCC front end, this will be the full path of the bytecode-libs
|
|||||||
directory inside of the LLVM GCC distribution.
|
directory inside of the LLVM GCC distribution.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- *********************************************************************** -->
|
||||||
|
<div class="doc_section">
|
||||||
|
<a name="cfe_code">Questions about code generated by the GCC front-end</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="question">
|
||||||
|
<p>
|
||||||
|
What is this <tt>__main()</tt> call that gets inserted into <tt>main()</tt>?
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="answer">
|
||||||
|
<p>
|
||||||
|
The <tt>__main</tt> call is inserted by the C/C++ compiler in order to guarantee
|
||||||
|
that static constructors and destructors are called when the program starts up
|
||||||
|
and shuts down. In C, you can create static constructors and destructors by
|
||||||
|
using GCC extensions, and in C++ you can do so by creating a global variable
|
||||||
|
whose class has a ctor or dtor.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The actual implementation of <tt>__main</tt> lives in the
|
||||||
|
<tt>llvm/runtime/GCCLibraries/crtend/</tt> directory in the source-base, and is
|
||||||
|
linked in automatically when you link the program.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- *********************************************************************** -->
|
<!-- *********************************************************************** -->
|
||||||
<!-- *********************************************************************** -->
|
<!-- *********************************************************************** -->
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user