This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
What is the future of name mangling ?
The scheme below worked perfectly for me, now my application compiles
again with egcs, perfect :-) Thank you a lot Martin.
After the 1.1 release I would like to know what the future of the new
mangling is.
1. Will it become the default in the snapshots?
2. Will egcs link differents libstdc++ for different mangling schemes?
3. Will it be possible to choose the mangling for libstdc++ during bootstrap?
( I tried to supply make with the required flags but failed)
IMHO many people using expression templates and similar stuff depend on
-fsquangle. Therefore I would propose 1. but I can't really judge.
At the moment I compile egcs twice: once for myself ( with the hack
below) and once to provide test results :-(
Best regards,
Matthias
Martin von Loewis writes:
> > With -fnew-abi symbols seem to be short enough (great). But now I have
> > a problem with missing symbols.
>
> It seems you didn't recompile libstdc++ with -fnew-abi. Two comments
> might help:
>
> 1. You don't need all features of -fnew-abi; -fsquangle should be
> sufficient (this is the new mangling mechanism).
> Some of the symbols where missing because exception was in
> namespace std in some objects, and global in others.
>
> 2. You can turn it on by default with a single change in the source.
> In cp/decl2.c, say
>
> int flag_do_squangling = 1;
>
> You then don't need to pass any special flags during configuration or
> compilation of application code. If you find the need to disable it
> for a single compilation, you still can pass -fno-squangle.
>
> Please report any bugs you find with squangling.
>
> Hope this helps,
> Martin
>
--
+-----------------------------------------------------------------------+
| Matthias Mueller matthias@ica1.uni-stuttgart.de |
| http://www.ica1.uni-stuttgart.de/~matthias |
+-----------------------------------------------------------------------+
| ICA 1, Pfaffenwaldring 27, D-70569 Stuttgart (Germany) |
| Tel. 49-(0)711/685-7606, Fax. 49-(0)711/685-3658 |
+-----------------------------------------------------------------------+