X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FGettingStarted.html;h=b75b1c654a69afe7e28d7bb36796f0d2a9a95692;hb=bdd57371bc8af531259bdc2820abcec5d23cd19c;hp=40f51fe2af9541a3239a00e61d9570a5eab84bda;hpb=9474d019eeea89070536024302131357dc7f88cb;p=oota-llvm.git diff --git a/docs/GettingStarted.html b/docs/GettingStarted.html index 40f51fe2af9..b75b1c654a6 100644 --- a/docs/GettingStarted.html +++ b/docs/GettingStarted.html @@ -114,13 +114,15 @@ and performance.
Optionally, specify for directory the full pathname of the C/C++ front end installation to use with this LLVM configuration. If - not specified, the PATH will be searched.
Enable the SPEC2000 benchmarks for testing. The SPEC2000 benchmarks should be available in @@ -214,11 +217,21 @@ software you will need.
Note that you will need about 1-3 GB of space for a full LLVM build in Debug mode, depending on the system (it is so large because of all the debugging information and the fact that the libraries are statically linked into multiple -tools). If you do not need many of the tools and you are space-conscious, -you can disable them individually in llvm/tools/Makefile. The Release -build requires considerably less space.
+tools). If you do not need many of the tools and you are space-conscious, you +can pass ONLY_TOOLS="tools you need" to make. The Release build +requires considerably less space.The LLVM suite may compile on other platforms, but it is not guaranteed to do so. If compilation is successful, the LLVM utilities should be @@ -375,18 +384,6 @@ href="GCCFEBuildInstrs.html">try to compile it on your platform.
GCC 4.1.2 20071124 (Red Hat 4.1.2-42): Suffers from the same symptoms as the previous one. It appears to work with ENABLE_OPTIMIZED=0 (the default).
- +Cygwin GCC 4.3.2 20080827 (beta) 2: + Users reported various problems related + with link errors when using this GCC version.
+Debian GCC 4.3.2 on X86: Crashes building some files in LLVM 2.6.
+GCC 4.3.3 (Debian 4.3.3-10) on ARM: Miscompiles parts of LLVM 2.6 +when optimizations are turned on. The symptom is an infinite loop in +FoldingSetImpl::RemoveNode while running the code generator.
GNU ld 2.16.X. Some 2.16.X versions of the ld linker will produce very long warning messages complaining that some ".gnu.linkonce.t.*" symbol was defined in a discarded section. You can safely ignore these messages as they are @@ -572,6 +575,12 @@ href="http://sourceware.org/bugzilla/show_bug.cgi?id=3111">a bug which causes huge link times (minutes instead of seconds) when building LLVM. We recommend upgrading to a newer version (2.17.50.0.4 or later).
+GNU Binutils 2.19.1 Gold: This version of Gold contained +a bug +which causes intermittent failures when building LLVM with position independent +code. The symptom is an error about cyclic dependencies. We recommend +upgrading to a newer version of Gold.
+ @@ -677,12 +686,12 @@ compressed with the gzip program.If you have access to our Subversion repository, you can get a fresh copy of -the entire source code. All you need to do is check it out from Subvresion as +the entire source code. All you need to do is check it out from Subversion as follows:
Before configuring and compiling the LLVM suite, you can optionally extract the -LLVM GCC front end from the binary distribution. It is used for running the -llvm-test testsuite and for compiling C/C++ programs. Note that you can optionally -build llvm-gcc yourself after building the +
Before configuring and compiling the LLVM suite (or if you want to use just the LLVM +GCC front end) you can optionally extract the front end from the binary distribution. +It is used for running the llvm-test testsuite and for compiling C/C++ programs. Note that +you can optionally build llvm-gcc yourself after building the main LLVM repository.
-To install the GCC front end, do the following:
+To install the GCC front end, do the following (on Windows, use an archival tool +like 7-zip that understands gzipped tars):
Once the binary is uncompressed, you should add a symlink for llvm-gcc and -llvm-g++ to some directory in your path. When you configure LLVM, it will -automatically detect llvm-gcc's presence (if it is in your path) enabling its -use in llvm-test. Note that you can always build or install llvm-gcc at any -pointer after building the main LLVM repository: just reconfigure llvm and +
Once the binary is uncompressed, if you're using a *nix-based system, add a symlink for +llvm-gcc and llvm-g++ to some directory in your path. If you're using a +Windows-based system, add the bin subdirectory of your front end installation directory +to your PATH environment variable. For example, if you uncompressed the binary to +c:\llvm-gcc, add c:\llvm-gcc\bin to your PATH.
+ +If you now want to build LLVM from source, when you configure LLVM, it will +automatically detect llvm-gcc's presence (if it is in your path) enabling its +use in llvm-test. Note that you can always build or install llvm-gcc at any +point after building the main LLVM repository: just reconfigure llvm and llvm-test will pick it up.
-The binary versions of the GCC front end may not suit all of your needs. For -example, the binary distribution may include an old version of a system header -file, not "fix" a header file that needs to be fixed for GCC, or it may be -linked with libraries not available on your system.
+As a convenience for Windows users, the front end binaries for MinGW/x86 include +versions of the required w32api and mingw-runtime binaries. The last remaining step for +Windows users is to simply uncompress the binary binutils package from +MinGW into your front end installation directory. While the +front end installation steps are not quite the same as a typical manual MinGW installation, +they should be similar enough to those who have previously installed MinGW on Windows systems.
+ +To install binutils on Windows:
-In cases like these, you may want to try building the GCC front end from source. This is -much easier now than it was in the past.
+The binary versions of the LLVM GCC front end may not suit all of your needs. For +example, the binary distribution may include an old version of a system header +file, not "fix" a header file that needs to be fixed for GCC, or it may be linked with +libraries not available on your system. In cases like these, you may want to try +building the GCC front end from source. Thankfully, +this is much easier now than it was in the past.
+ +We also do not currently support updating of the GCC front end by manually overlaying +newer versions of the w32api and mingw-runtime binary packages that may become available +from MinGW. At this time, it's best to think of the MinGW LLVM GCC front end binary as +a self-contained convenience package that requires Windows users to simply download and +uncompress the GNU Binutils binary package from the MinGW project.
+ +Regardless of your platform, if you discover that installing the LLVM GCC front end +binaries is not as easy as previously described, or you would like to suggest improvements, +please let us know how you would like to see things improved by dropping us a note on our +mailing list.
It is possible to cross-compile LLVM. That is, you can create LLVM - executables and libraries for a platform different than the one one which you - are compiling. To do this, a few additional steps are - required. 1 To cross-compile LLVM, use - these instructions:
-The result of such a build will produce executables that are not executable - on your build host (--build option) but can be executed on your compile host +
It is possible to cross-compile LLVM itself. That is, you can create LLVM + executables and libraries to be hosted on a platform different from the + platform where they are build (a Canadian Cross build). To configure a + cross-compile, supply the configure script with --build and + --host options that are different. The values of these options must + be legal target triples that your GCC compiler supports.
+ +The result of such a build is executables that are not runnable on + on the build host (--build option) but can be executed on the compile host (--host option).
-Notes:
-$ mount -t binfmt_misc none /proc/sys/fs/binfmt_misc -$ echo ':llvm:M::llvm::/path/to/lli:' > /proc/sys/fs/binfmt_misc/register +$ echo ':llvm:M::BC::/path/to/lli:' > /proc/sys/fs/binfmt_misc/register $ chmod u+x hello.bc (if needed) $ ./hello.bc
-This allows you to execute LLVM bitcode files directly. Thanks to Jack -Cummings for pointing this out! +This allows you to execute LLVM bitcode files directly. On Debian, you +can also use this command instead of the 'echo' command above:
++$ sudo update-binfmts --install llvm /path/to/lli --magic 'BC' +
The tools directory contains the executables built out of the libraries above, which form the main part of the user interface. You can -always get help for a tool by typing tool_name --help. The +always get help for a tool by typing tool_name -help. The following is a brief introduction to the most important tools. More detailed information is in the Command Guide.
@@ -1411,7 +1440,7 @@ information is in the Command Guide.This section gives an example of using LLVM. llvm-gcc3 is now obsolete, -so we only include instructiosn for llvm-gcc4. +so we only include instructions for llvm-gcc4.
Note: The gcc4 frontend's invocation is considerably different