Patch for HowToBuildOnARM documentation from Wei-Ren Chen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164776 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/docs/HowToBuildOnARM.rst b/docs/HowToBuildOnARM.rst
new file mode 100644
index 0000000..793015a
--- /dev/null
+++ b/docs/HowToBuildOnARM.rst
@@ -0,0 +1,34 @@
+.. _how_to_build_on_arm:

+

+===================================================================

+How To Build On ARM

+===================================================================

+

+.. sectionauthor:: Wei-Ren Chen (陳韋任) <chenwj@iis.sinica.edu.tw>

+

+Introduction

+============

+

+This document contains information about building/testing LLVM and

+Clang on ARM.

+

+Notes On Building LLVM/Clang on ARM

+=====================================

+Here are some notes on building/testing LLVM/Clang on ARM. Note that

+ARM encompasses a wide variety of CPUs; this advice is primarily based

+on the ARMv6 and ARMv7 architectures and may be inapplicable to older chips.

+

+#. If you are building LLVM/Clang on an ARM board with 1G of memory or less,

+   please use ``gold`` rather then GNU ``ld``.

+   Building LLVM/Clang with ``--enable-optimized``

+   is prefered since it consumes less memory. Otherwise, the building

+   process will very likely fail due to insufficient memory. In any

+   case it is probably a good idea to set up a swap partition.

+

+#. If you want to run ``make

+   check-all`` after building LLVM/Clang, to avoid false alarms (eg, ARCMT

+   failure) please use the following configuration:

+

+   .. code-block:: bash

+

+     $ ../$LLVM_SRC_DIR/configure --with-abi=aapcs

diff --git a/docs/userguides.rst b/docs/userguides.rst
index 3a20514..4304ccc 100644
--- a/docs/userguides.rst
+++ b/docs/userguides.rst
@@ -1,92 +1,97 @@
-.. _userguides:
-
-User Guides
-===========
-
-.. toctree::
-   :hidden:
-
-   CMake
-   CommandGuide/index
-   DeveloperPolicy
-   GettingStartedVS
-   FAQ
-   Lexicon
-   Packaging
-   HowToAddABuilder
-   yaml2obj
+.. _userguides:

+

+User Guides

+===========

+

+.. toctree::

+   :hidden:

+

+   CMake

+   HowToBuildOnARM

+   CommandGuide/index

+   DeveloperPolicy

+   GettingStartedVS

+   FAQ

+   Lexicon

+   Packaging

+   HowToAddABuilder

+   yaml2obj

    HowToSubmitABug
-
-* `The LLVM Getting Started Guide <GettingStarted.html>`_
-    
-   Discusses how to get up and running quickly with the LLVM infrastructure.
-   Everything from unpacking and compilation of the distribution to execution
-   of some tools.
-    
-* :ref:`building-with-cmake`
-
-   An addendum to the main Getting Started guide for those using the `CMake
-   build system <http://www.cmake.org>`_.
-    
-* `Getting Started with the LLVM System using Microsoft Visual Studio
-  <GettingStartedVS.html>`_
-
-   An addendum to the main Getting Started guide for those using Visual Studio
-   on Windows.
-    
-* `LLVM Tutorial <tutorial/>`_
-
-   A walk through the process of using LLVM for a custom language, and the
-   facilities LLVM offers in tutorial form.
-
-* :ref:`developer_policy`
-
-   The LLVM project's policy towards developers and their contributions.
-
-* :ref:`LLVM Command Guide <commands>`
-
-   A reference manual for the LLVM command line utilities ("man" pages for LLVM
-   tools).
-    
-* `LLVM's Analysis and Transform Passes <Passes.html>`_
-
-   A list of optimizations and analyses implemented in LLVM.
-    
-* :ref:`faq`
-
-   A list of common questions and problems and their solutions.
-    
-* `Release notes for the current release <ReleaseNotes.html>`_
-
-   This describes new features, known bugs, and other limitations.
-
+

+* `The LLVM Getting Started Guide <GettingStarted.html>`_

+    

+   Discusses how to get up and running quickly with the LLVM infrastructure.

+   Everything from unpacking and compilation of the distribution to execution

+   of some tools.

+    

+* :ref:`building-with-cmake`

+

+   An addendum to the main Getting Started guide for those using the `CMake

+   build system <http://www.cmake.org>`_.

+

+* :ref:`how_to_build_on_arm`

+

+   Notes on building and testing LLVM/Clang on ARM.

+

+* `Getting Started with the LLVM System using Microsoft Visual Studio

+  <GettingStartedVS.html>`_

+

+   An addendum to the main Getting Started guide for those using Visual Studio

+   on Windows.

+    

+* `LLVM Tutorial <tutorial/>`_

+

+   A walk through the process of using LLVM for a custom language, and the

+   facilities LLVM offers in tutorial form.

+

+* :ref:`developer_policy`

+

+   The LLVM project's policy towards developers and their contributions.

+

+* :ref:`LLVM Command Guide <commands>`

+

+   A reference manual for the LLVM command line utilities ("man" pages for LLVM

+   tools).

+    

+* `LLVM's Analysis and Transform Passes <Passes.html>`_

+

+   A list of optimizations and analyses implemented in LLVM.

+    

+* :ref:`faq`

+

+   A list of common questions and problems and their solutions.

+    

+* `Release notes for the current release <ReleaseNotes.html>`_

+

+   This describes new features, known bugs, and other limitations.

+

 * :ref:`how-to-submit-a-bug-report`
-    
-   Instructions for properly submitting information about any bugs you run into
-   in the LLVM system.
-    
-* `LLVM Testing Infrastructure Guide <TestingGuide.html>`_
-
-   A reference manual for using the LLVM testing infrastructure.
-    
-* `How to build the C, C++, ObjC, and ObjC++ front end <http://clang.llvm.org/get_started.html>`_
-
-   Instructions for building the clang front-end from source.
-    
-* :ref:`packaging`
-
-   Advice on packaging LLVM into a distribution.
-    
-* :ref:`lexicon`
-
-   Definition of acronyms, terms and concepts used in LLVM.
-
-* :ref:`how_to_add_a_builder`
-
-   Instructions for adding new builder to LLVM buildbot master.
-    
-* **IRC** -- You can probably find help on the unofficial LLVM IRC.
-
-   We often are on irc.oftc.net in the #llvm channel.  If you are using the
-   mozilla browser, and have chatzilla installed, you can `join #llvm on
-   irc.oftc.net <irc://irc.oftc.net/llvm>`_.
+    

+   Instructions for properly submitting information about any bugs you run into

+   in the LLVM system.

+    

+* `LLVM Testing Infrastructure Guide <TestingGuide.html>`_

+

+   A reference manual for using the LLVM testing infrastructure.

+    

+* `How to build the C, C++, ObjC, and ObjC++ front end <http://clang.llvm.org/get_started.html>`_

+

+   Instructions for building the clang front-end from source.

+    

+* :ref:`packaging`

+

+   Advice on packaging LLVM into a distribution.

+    

+* :ref:`lexicon`

+

+   Definition of acronyms, terms and concepts used in LLVM.

+

+* :ref:`how_to_add_a_builder`

+

+   Instructions for adding new builder to LLVM buildbot master.

+    

+* **IRC** -- You can probably find help on the unofficial LLVM IRC.

+

+   We often are on irc.oftc.net in the #llvm channel.  If you are using the

+   mozilla browser, and have chatzilla installed, you can `join #llvm on

+   irc.oftc.net <irc://irc.oftc.net/llvm>`_.