1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 12:41:49 +01:00

Update the LTO GoldPlugin documentation

* Update build instructions to reflect the current source tree layout.
 * Don't inflict CVS on readers; there's a perfectly good git mirror.
 * configure with --disable-werror making it possible to build using clang.
 * ar and nm-new now support the -plugin option.

llvm-svn: 196069
This commit is contained in:
Alp Toker 2013-12-02 07:15:33 +00:00
parent 29768368be
commit 29a5122909

View File

@ -30,29 +30,22 @@ by running ``/usr/bin/ld -plugin``. If it complains "missing argument" then
you have plugin support. If not, such as an "unknown option" error then you you have plugin support. If not, such as an "unknown option" error then you
will either need to build gold or install a version with plugin support. will either need to build gold or install a version with plugin support.
* To build gold with plugin support: * Download, configure and build gold with plugin support:
.. code-block:: bash .. code-block:: bash
$ mkdir binutils $ git clone --depth 1 git://sourceware.org/git/binutils-gdb.git binutils
$ cd binutils
$ cvs -z 9 -d :pserver:anoncvs@sourceware.org:/cvs/src login
{enter "anoncvs" as the password}
$ cvs -z 9 -d :pserver:anoncvs@sourceware.org:/cvs/src co binutils
$ mkdir build $ mkdir build
$ cd build $ cd build
$ ../src/configure --enable-gold --enable-plugins $ ../binutils/configure --enable-gold --enable-plugins --disable-werror
$ make all-gold $ make all-gold
That should leave you with ``binutils/build/gold/ld-new`` which supports That should leave you with ``build/gold/ld-new`` which supports
the ``-plugin`` option. It also built would have the ``-plugin`` option. Running ``make`` will additionally build
``binutils/build/binutils/ar`` and ``nm-new`` which support plugins but ``build/binutils/ar`` and ``nm-new`` binaries supporting plugins.
don't have a visible -plugin option, instead relying on the gold plugin
being present in ``../lib/bfd-plugins`` relative to where the binaries
are placed.
* Build the LLVMgold plugin: Configure LLVM with * Build the LLVMgold plugin: Configure LLVM with
``--with-binutils-include=/path/to/binutils/src/include`` and run ``--with-binutils-include=/path/to/binutils/include`` and run
``make``. ``make``.
Usage Usage
@ -72,9 +65,10 @@ the ``lib`` directory under its prefix and pass the ``-plugin`` option to
``ld``. It will not look for an alternate linker, which is why you need ``ld``. It will not look for an alternate linker, which is why you need
gold to be the installed system linker in your path. gold to be the installed system linker in your path.
If you want ``ar`` and ``nm`` to work seamlessly as well, install ``ar`` and ``nm`` also accept the ``-plugin`` option and it's possible to
``LLVMgold.so`` to ``/usr/lib/bfd-plugins``. If you built your own gold, be to install ``LLVMgold.so`` to ``/usr/lib/bfd-plugins`` for a seamless setup.
sure to install the ``ar`` and ``nm-new`` you built to ``/usr/bin``. If you built your own gold, be sure to install the ``ar`` and ``nm-new`` you
built to ``/usr/bin``.
Example of link time optimization Example of link time optimization