llvm/tools/gold
Rafael Espindola c55f4fb805 Always pass a diagnostic handler to the linker.
Before this patch the diagnostic handler was optional. If it was not
passed, the one in the LLVMContext was used.

That is probably not a pattern we want to follow. If each area has an
optional callback, there is a sea of callbacks and it is hard to follow
which one is called.

Doing this also found cases where the callback is a nice addition, like
testing that no errors or warnings are reported.

The other option is to always use the diagnostic handler in the
LLVMContext. That has a few problems

* To implement the C API we would have to set the diag handler and then
  set it back to the original value.
* Code that creates the context might be far away from code that wants
  the diagnostics.

I do have a patch that implements the second option and will send that as
an RFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254777 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-04 22:08:53 +00:00
..
CMakeLists.txt [gold] Consolidate the gold plugin options and actually search for 2015-02-14 09:43:57 +00:00
gold-plugin.cpp Always pass a diagnostic handler to the linker. 2015-12-04 22:08:53 +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 Rewrite the gold plugin to fix pr19901. 2014-08-21 20:28:55 +00:00
README.txt Cut the gold plugin README down to size 2013-12-02 14:17:47 +00:00

The LLVM Gold LTO Plugin
========================

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.

See docs/GoldPlugin.html for complete build and usage instructions.

NOTE: libLTO and LLVMgold aren't built without PIC because they would fail
to 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.