From 5c21280d8e0363d92f6bae1e2fb510c4682c40e8 Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Sat, 17 Apr 2010 07:00:24 +0000 Subject: [PATCH] Refresh this documentation. Things have changed a bit in the mean time: - LLVMgold.so --> libLLVMgold.so - the GCC LTO project is no longer 'upcoming' - document the plugin support for 'ar' and 'nm' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101624 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/GoldPlugin.html | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/docs/GoldPlugin.html b/docs/GoldPlugin.html index 77a417f5710..66e099bad0a 100644 --- a/docs/GoldPlugin.html +++ b/docs/GoldPlugin.html @@ -27,7 +27,7 @@

Building with link time optimization requires cooperation from the system linker. LTO support on Linux systems requires that you use the gold linker which supports -LTO via plugins. This is the same system used by the upcoming +LTO via plugins. This is the same mechanism used by the GCC LTO project.

The LLVM gold plugin implements the @@ -41,10 +41,15 @@ The same plugin can also be used by other tools such as ar and

How to build it
-

You need to build gold with plugin support and build the LLVMgold -plugin.

+

You need to have gold with plugin support and build the LLVMgold +plugin. Check whether you have gold running /usr/bin/ld -v. It will +report “GNU gold” or else “GNU ld” if not. If you have +gold, check for plugin support 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.

@@ -141,8 +153,9 @@ $ llvm-gcc -use-gold-plugin a.a b.o -o main # <-- link with LLVMgold plugin
Quickstart for using LTO with autotooled projects
-

gold, ar and nm all support plugins now, so everything should be - in place for an easy to use LTO build of autotooled projects:

+

Once your system ld, ar and nm all support LLVM + bitcode, everything is in place for an easy to use LTO build of autotooled + projects: