llvm-project/llvm/tools/gold
Rafael Espindola 8fb957e5cb Add a emit-llvm option to the plugin and make the path argument to also-emit-llvm optional.
llvm-svn: 105414
2010-06-03 21:11:20 +00:00
..
Makefile Avoid renaming loadable modules at install time. Now the gold plugin is named 2010-05-16 03:13:23 +00:00
README.txt mention that PIC is needed for libLTO and libLLVMgold 2009-02-04 19:12:25 +00:00
gold-plugin.cpp Add a emit-llvm option to the plugin and make the path argument to also-emit-llvm optional. 2010-06-03 21:11:20 +00:00
gold.exports Create an exports file, so that the plugin only exports the onload symbol. 2010-04-16 00:43:25 +00:00

README.txt

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
--with-binutils-include=/path/to/binutils/src/include/ --enable-pic. To use the
plugin, run "ld-new --plugin /path/to/libLLVMgold.so".
Without PIC libLTO and libLLVMgold are not being built (because they would fail
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.