mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-27 13:40:30 +00: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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196069 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e5c7512e70
commit
bc134cb1f1
@ -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
|
||||
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
|
||||
|
||||
$ mkdir 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
|
||||
$ git clone --depth 1 git://sourceware.org/git/binutils-gdb.git binutils
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ ../src/configure --enable-gold --enable-plugins
|
||||
$ ../binutils/configure --enable-gold --enable-plugins --disable-werror
|
||||
$ make all-gold
|
||||
|
||||
That should leave you with ``binutils/build/gold/ld-new`` which supports
|
||||
the ``-plugin`` option. It also built would have
|
||||
``binutils/build/binutils/ar`` and ``nm-new`` which support plugins but
|
||||
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.
|
||||
That should leave you with ``build/gold/ld-new`` which supports
|
||||
the ``-plugin`` option. Running ``make`` will additionally build
|
||||
``build/binutils/ar`` and ``nm-new`` binaries supporting plugins.
|
||||
|
||||
* 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``.
|
||||
|
||||
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
|
||||
gold to be the installed system linker in your path.
|
||||
|
||||
If you want ``ar`` and ``nm`` to work seamlessly as well, install
|
||||
``LLVMgold.so`` to ``/usr/lib/bfd-plugins``. If you built your own gold, be
|
||||
sure to install the ``ar`` and ``nm-new`` you built to ``/usr/bin``.
|
||||
``ar`` and ``nm`` also accept the ``-plugin`` option and it's possible to
|
||||
to install ``LLVMgold.so`` to ``/usr/lib/bfd-plugins`` for a seamless setup.
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user