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

"Joseph S. Myers" <[email protected]>
Newsgroups gmane.comp.gcc.devel,gmane.comp.gcc.java.devel,gmane.comp.gcc.fortran
Message-ID <[email protected]>
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
[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.