This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Plugin API Comments (was Re: GCC Plug-in Framework ready to port)


On Fri, 2009-02-06 at 12:32 +0000, Joseph S. Myers wrote:
> On Fri, 6 Feb 2009, Sean Callanan wrote:
> 
> > - Modify the GCC link process to use libltdl and libtool -export-dynamic
> 
> Although this may make theoretical sense in terms of the work for a 
> cross-platform implementation already being done, I doubt it's a good idea 
> in practice if you want plugin-enabled GCC to be widely buildable and the 
> binaries not to be very closely tied to the exact system on which they 
> were built.  (For example, for a while it was impossible to build current 
> versions of guile on systems with current versions of libtool installed 
> because of incompatible changes to libltdl,

IOH, the test part of the guile build was not adequate/sufficient.
The plugin implementation will have a good test coverage.

>  and I don't have much 
> confidence in future compatibility of libltdl, or of it working reliably 
> with GCC unless GCC always builds its own GCC-specific copy and links 
> against it using -Wl,-rpath,(something involving $ORIGIN).  I also don't 
> see support for $ORIGIN in libtool, but toolchain relocatability means 
> that absolute RPATH settings must not be used when linking GCC.)

Each plugin must do minimum checking for libraries compatibilities on
the libltdl library they want to used.

> I'd suggest we simply put the host-dependent code in GCC, appropriately 
> conditional, add code for more hosts as and when people wish to support 
> them with plugins, and make sure that plugin-disabled builds continue to 
> work for all hosts.  There will undoubtedly be GCC-specific build system 
> changes needed for such things as building almost everything into a DLL 
> for Windows systems so that plugins on Windows can access symbols from 
> GCC (I understand from the previous discussions that this will be 
> necessary) and I doubt libtool would make such changes any easier.

Just want to add that it is supposed to be the libtool's responsibility
to resolve quirks, platforms, distribution problems.

Well, i means i want the linking mechanism for plugin.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]