llvm/tools/gold
Ivan Krasin 71280b55a3 use 64-bit types instead of off_t/size_t to avoid the issue when
gold plugin is built with Large File Support (sizeof(off_t) == 64 on i686)
and the rest of LLVM is built w/o Large File Support
(sizeof(off_t) == 32 on i686) which corrupts the stack.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139873 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-15 23:13:00 +00:00
..
CMakeLists.txt CMake builds gold by default since revision 127466. This is 2011-05-12 11:26:21 +00:00
gold-plugin.cpp use 64-bit types instead of off_t/size_t to avoid the issue when 2011-09-15 23:13:00 +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
Makefile Also remove -lLTO which should have been in r132349. I failed to apply this 2011-05-31 20:00:45 +00:00
README.txt s/libLLVMgold/LLVMgold/g 2010-08-08 21:14:26 +00: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
--with-binutils-include=/path/to/binutils/src/include/ --enable-pic. To use the
plugin, run "ld-new --plugin /path/to/LLVMgold.so".
Without PIC libLTO and LLVMgold 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.