C++ demangler horrors
Nathanael Nerode
neroden@twcny.rr.com
Fri Jun 27 22:37:00 GMT 2003
>Yes, and what's more, the extra bootstrap stage(s) that people seem
>determined to avoid only needs to be done /once/, ever. Then the
>system /has/ a C++ compiler. What's more, it's a damn good one,
>because it's ours!
All right. Then write a patch which builds C++, builds libsupc++, and
builds the demangler, in stage 1, then turns around and uses that to
build stage 2, etc. And make it clean and easy to understand. Oh yeah
-- in the cross-compiler case, you need to build a C++ compiler to the
*host* and build libsupc++ for the *host*, use those to build GDB &
binutils, and then turn around and build the real libsupc++ for the
target.
Actually, this might all be possible in a straightforward way after I
move bootstrap to the top level (which I'm working on).
--
For now, put it off. It's the configury maintainers who will have to
maintain the dependency problems which everyone else wants to create.
Here's a proposal. You want to use a C++ demangler written in C++ and
depending on a C++ library in binutils and gdb? Then require a
preexisting, installed C++ compiler in order to build binutils and gdb.
Run that by whoever's in charge of those projects, and if you get
approval, go ahead.
Otherwise, wait until there's support for such a complicated dependency
chain. There isn't at the moment, although there might be within the
next year.
--
Nathanael Nerode <neroden at gcc.gnu.org>
http://home.twcny.rr.com/nerode/neroden/fdl.html
More information about the Gcc
mailing list