[LTO merge][0/15] Description of the final 15 patches

Joseph S. Myers joseph@codesourcery.com
Tue Sep 29 02:03:00 GMT 2009


On Mon, 28 Sep 2009, Diego Novillo wrote:

> - libiberty
> 	I need help with this one.  When the linker plugin is
> 	enabled (if GCC is configured to use gold), LTO can
> 	detect LTO objects inside archives via the callbacks it
> 	gets from the linker.  Since the linker plugin is a
> 	shared object, and it uses libiberty functions, it needs
> 	to use a shared libiberty.
> 
> 	Currently, we just force --enable-shared on libiberty,
> 	but I would only want to do that if gold and lto are
> 	enabled.  We detect gold and lto support in the top
> 	configure script, but how do I send that down to
> 	libiberty's configure?

Shared libiberty seems like a bad idea as you then need to deal with 
soname allocation and changing the soname whenever an ABI-incompatible 
change is made.  What you actually need is a PIC libiberty to link into 
the plugin (and avoiding using any global data in libiberty that needs a 
single copy in any program; hopefully it doesn't have any), not a shared 
one.

(You also need to make sure this doesn't affect what is built for the 
target, only for the host.)

-- 
Joseph S. Myers
joseph@codesourcery.com



More information about the Java mailing list