- <p><b>Common Problem 1:</b> You may get error messages regarding the fact
- that LLVM does not support inline assembly. Here are two common
- fixes:</p>
-
- <ul>
- <li><p><b>Fix 1:</b> If you have system header files that include
- inline assembly, you may have to modify them to remove the inline
- assembly, and install the modified versions in
- <code>$CFEINSTALL/<i>target-triplet</i>/sys-include</code>.</p>
-
- <li><b>Fix 2:</b> If you are building the C++ front-end on a CPU we
- haven't tried yet, you will probably have to edit the appropriate
- version of atomicity.h under
- <code>src/libstdc++-v3/config/cpu/<i>name-of-cpu</i>/atomicity.h</code>
- and apply a patch so that it does not use inline assembly.</p>
- </ul>
-
- <p><b>Common Problem 2:</b> <b>FIXME:</b> Chris should add a section about
- common problems porting to a new architecture, including changes you
- might have to make to the gcc/gcc/config/<i>name-of-cpu</i>
- directory. For example (expand these):</p>
-
- <ul>
- <li>Munge linker flags so they are compatible with gccld.
- <li>Change the target so it doesn't have long double; just use double
- instead.
- <li>No inline assembly for position independent code.
- <li>We handle init and fini differently.
- <li>Do not include inline assembly map things for SPARC, or profile things.
- </ul>
-
-<li><p>Go back into the LLVM source tree proper. Edit Makefile.config
-to redefine <code>LLVMGCCDIR</code> to the full pathname of the
-<code>$CFEINSTALL</code> directory, which is the directory you just
-installed the C front-end into. (The ./configure script is likely to
-have set this to a directory which does not exist on your system.)</p>
-
-<li><p>If you edited header files during the C/C++ front-end build as
-described in "Fix 1" above, you must now copy those header files from
-<code>$CFEINSTALL/<i>target-triplet</i>/sys-include</code> to
-<code>$CFEINSTALL/lib/gcc/<i>target-triplet</i>/3.4-llvm/include</code>.
-(This should be the "include" directory in the same directory as the
-libgcc.a library, which you can find by running
-<code>$CFEINSTALL/bin/gcc --print-libgcc-file-name</code>.)</p>
-
-<li><p>Build and install the runtime (bytecode) libraries by running:</p>
-<pre>
- % gmake -C runtime
- % mkdir $CFEINSTALL/bytecode-libs
- % gmake -C runtime install
- % setenv LLVM_LIB_SEARCH_PATH $CFEINSTALL/bytecode-libs
-</pre>