This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: C++ demangler horrors
- From: Alexandre Oliva <aoliva at redhat dot com>
- To: "H. J. Lu" <hjl at lucon dot org>
- Cc: Gabriel Dos Reis <gdr at integrable-solutions dot net>, Gerald Pfeifer <pfeifer at dbai dot tuwien dot ac dot at>, Oscar Fuentes <ofv at wanadoo dot es>, gcc at gcc dot gnu dot org
- Date: 01 Jul 2003 11:54:01 -0300
- Subject: Re: C++ demangler horrors
- Organization: GCC Team, Red Hat
- References: <20030626203555.GA25243@lucon.org> <4r2c5mov.fsf@wanadoo.es><20030627014931.GA30139@lucon.org> <y8zo3y0l.fsf@wanadoo.es><Pine.BSF.4.56.0306271411080.53800@naos.dbai.tuwien.ac.at><20030628013200.GA23878@lucon.org><m3isqqa6gi.fsf@uniton.integrable-solutions.net><20030628145900.GA2791@lucon.org> <20030628152805.GA3496@lucon.org><or65mm4aw0.fsf@free.redhat.lsd.ic.unicamp.br><20030701142407.GA11967@lucon.org>
On Jul 1, 2003, "H. J. Lu" <hjl@lucon.org> wrote:
> I don't get it. Are you saying you can link with libiberty before
> libiberty is done?
No. I'm just concerned about dependencies that might go missing.
Modifying a file in a different directory is very bad practice in my
book.
> Can you tell me how a parallel build will fail with my proposal?
At first, it seemed to me that it obviously didn't, but that still
didn't make it right.
Now consider a Cygwin build. The Cygwin library must not depend on
the demangle target, otherwise we're back to the original problem.
But both the Cygwin library and the demangler depend on libiberty.
Now consider that the Cygwin library may be linked with libiberty
while the demangler modifies libiberty. Oops.
Also, consider the case that the cygwin library might, for whatever
reason, want to use the demangler from libiberty. What now? Should
it really get the wrong demangler, or fail to link?
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist Professional serial bug killer