2009-02-03 08:13:24 +01:00
|
|
|
This directory contains a plugin that is designed to work with binutils
|
|
|
|
gold linker. At present time, this is not the default linker in
|
|
|
|
binutils, and the default build of gold does not support plugins.
|
|
|
|
|
|
|
|
Obtaining 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
|
|
|
|
|
|
|
|
This will create a src/ directory. Make a build/ directory and from
|
|
|
|
there configure binutils with "../src/configure --enable-gold --enable-plugins".
|
|
|
|
Then build binutils with "make all-gold".
|
|
|
|
|
|
|
|
To build the LLVMgold plugin, configure LLVM with the option
|
2009-02-04 20:12:25 +01:00
|
|
|
--with-binutils-include=/path/to/binutils/src/include/ --enable-pic. To use the
|
2010-08-08 23:14:26 +02:00
|
|
|
plugin, run "ld-new --plugin /path/to/LLVMgold.so".
|
|
|
|
Without PIC libLTO and LLVMgold are not being built (because they would fail
|
2009-02-04 20:12:25 +01:00
|
|
|
link on x86-64 with a relocation error: PIC and non-PIC can't be combined).
|
|
|
|
As an alternative to passing --enable-pic, you can use 'make ENABLE_PIC=1' in
|
|
|
|
your entire LLVM build.
|