From: Bill Wendling Date: Sat, 22 Sep 2007 09:54:47 +0000 (+0000) Subject: Validation fixes X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=e9a6c35f51f413c40c6645cd5d62c1d25bf0e9eb;p=oota-llvm.git Validation fixes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42227 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/FAQ.html b/docs/FAQ.html index 96360d06a1c..58230414172 100644 --- a/docs/FAQ.html +++ b/docs/FAQ.html @@ -53,7 +53,7 @@
  • After Subversion update, rebuilding gives the error "No rule to make target".
  • The llvmc program gives me errors/doesn't - work.
  • + work.
  • Source Languages @@ -182,14 +182,12 @@ LLVM have been ported to a plethora of platforms.

    Some porting problems may exist in the following areas:

    @@ -227,21 +225,23 @@ if it's grabbing the wrong linker/assembler/etc, there are two ways to fix it:

      -
    1. Adjust your PATH environment variable so that the correct - program appears first in the PATH. This may work, but may not be - convenient when you want them first in your path for other - work.

    2. + program appears first in the PATH. This may work, but may not be + convenient when you want them first in your path for other + work.

    3. Run configure with an alternative PATH that is - correct. In a Borne compatible shell, the syntax would be:

      - -

      PATH=[the path without the bad program] ./configure ...

      + correct. In a Borne compatible shell, the syntax would be:

      + +
      +
      +% PATH=[the path without the bad program] ./configure ...
      +
      +

      This is still somewhat inconvenient, but it allows configure - to do its work without having to adjust your PATH - permanently.

    4. - + to do its work without having to adjust your PATH + permanently.

    @@ -257,8 +257,8 @@ your own version of GCC that has shared libraries enabled by default.

    -

    I've updated my source tree from Subversion, and now my build is trying to - use a file/directory that doesn't exist.

    +

    I've updated my source tree from Subversion, and now my build is trying to +use a file/directory that doesn't exist.

    @@ -273,12 +273,13 @@ old version. What do I do?

    -

    If the Makefile already exists in your object tree, you can just run the following command in the top level directory of your object tree:

    -

    ./config.status <relative path to Makefile>

    +

    +
    % ./config.status <relative path to Makefile>
    +

    If the Makefile is new, you will have to modify the configure script to copy it over.

    @@ -314,9 +315,7 @@ clean and then make in the directory that fails to build.

    For example, if you built LLVM with the command:

    -
    -% gmake ENABLE_PROFILING=1
    -
    +
    % gmake ENABLE_PROFILING=1

    ...then you must run the tests with the following commands:

    @@ -354,12 +353,12 @@ build.

    This is a bug in GCC, and - affects projects other than LLVM. Try upgrading or downgrading your GCC.

    +affects projects other than LLVM. Try upgrading or downgrading your GCC.

    -

    After Subversion update, rebuilding gives the error - "No rule to make target".

    +

    After Subversion update, rebuilding gives the error "No rule to make +target".

    @@ -389,14 +388,13 @@ removed entirely. In this case, the best solution is to erase all rebuilding.

    -
    - The llvmc program gives me errors/doesn't - work.

    +
    -

    llvmc is experimental and isn't really supported. We suggest - using llvm-gcc instead.

    +

    llvmc is experimental and isn't really supported. We suggest +using llvm-gcc instead.

    @@ -417,8 +415,8 @@ rebuilding.

    The PyPy developers are working on integrating LLVM into the PyPy backend so that PyPy language can translate to LLVM.

    -
  • + Instruction.

    @@ -533,7 +530,7 @@ C++ support for a processor that does not otherwise have a C++ compiler.

    Use commands like this:

      -
    1. Compile your program as normal with llvm-g++:

    2. +
    3. Compile your program as normal with llvm-g++:

      @@ -541,7 +538,7 @@ C++ support for a processor that does not otherwise have a C++ compiler.
       
      -

      or:

      +

      or:

      @@ -551,47 +548,44 @@ C++ support for a processor that does not otherwise have a C++ compiler.
       
      -

      With llvm-gcc3, this will generate program and program.bc. The .bc file is -the LLVM version of the program all linked together.

      +

      With llvm-gcc3, this will generate program and program.bc. The .bc + file is the LLVM version of the program all linked together.

    4. -
    5. Convert the LLVM code to C code, using the LLC tool with the C -backend:

    6. +
    7. Convert the LLVM code to C code, using the LLC tool with the C + backend:

       % llc -march=c program.bc -o program.c
       
      -
      +
    8. -
    9. Finally, compile the c file:

    10. +
    11. Finally, compile the C file:

       % cc x.c
       
      -
      +
    -

    Note that, by default, the C backend does not support exception handling. -If you want/need it for a certain program, you can enable it by passing -"-enable-correct-eh-support" to the llc program. The resultant code will -use setjmp/longjmp to implement exception support that is correct but -relatively slow. -

    +

    Note that, by default, the C backend does not support exception handling. If +you want/need it for a certain program, you can enable it by passing +"-enable-correct-eh-support" to the llc program. The resultant code will use +setjmp/longjmp to implement exception support that is correct but relatively +slow.

    -

    Also note: this specific sequence of commands won't work if you use a -function defined in the C++ runtime library (or any other C++ library). To -access an external C++ library, you must manually -compile libstdc++ to LLVM bitcode, statically link it into your program, then -use the commands above to convert the whole result into C code. Alternatively, -you can compile the libraries and your application into two different chunks -of C code and link them.

    +

    Also note: this specific sequence of commands won't work if you use a +function defined in the C++ runtime library (or any other C++ library). To +access an external C++ library, you must manually compile libstdc++ to LLVM +bitcode, statically link it into your program, then use the commands above to +convert the whole result into C code. Alternatively, you can compile the +libraries and your application into two different chunks of C code and link +them.

    - -
    Questions about code generated by the GCC front-end