This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Criteria for GCC 4.0
- From: Theodore Papadopoulo <Theodore dot Papadopoulo at sophia dot inria dot fr>
- To: Steven Bosscher <stevenb at suse dot de>
- Cc: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>, gcc at gcc dot gnu dot org
- Date: Tue, 01 Jun 2004 15:09:49 +0200
- Subject: Re: Criteria for GCC 4.0
stevenb@suse.de said:
> How do _you_ propose to teach the driver that in such multilanguage
> projects, say Ada/C++, it must link both the language's runtime
> libraries? Are you suggesting that my some machical means it should
> derive that from the object files, or just via user flags? You could
> do the latter just as well by using gnat and add -lstdc++ to the
> linker options.
I really think that the best way to do this is for the compiler to
produce .o files that somehow contain the gcc library requirements.
Then any gcc driver used to link the files together should collect
these libraries and add them to the linker command line.
The drawback of this is backward/forward compatibility if some symbol
move from one internal library to an another, or if one library
disappears, but this can always be corrected "the old fashion way" by
adding the proper library in the link command line. The proper
behavior would be to warn about a missing library (or symbol but this
is already done) and continue...
Remember that this is only for gcc's internal libraries, so any
breakage is under control and we might even be able to do library
rename if necessary provided that the gcc version is available
somewhere in the .o (or we could warn about a change in the ABI that
would make the .o file non compatible).
Does that seem unsane ??? If acceptable and with some help, I might
even try to produce a patch to do so...
Theo.
--------------------------------------------------------------------
Theodore Papadopoulo
Email: Theodore.Papadopoulo@sophia.inria.fr Tel: (33) 04 92 38 76 01
--------------------------------------------------------------------