Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/gnu/usr.bin/groff



On Fri, Aug 10, 2012 at 10:18:09PM +0400, Valeriy E. Ushakov wrote:
> Linking against libstdc++ wastes space and time at runtime.

On-demand paging will pull only the required parts in. As I said
earlier, the number of constructors is basically irrelevant to matter.
So yes, this just reduces the number of semi-statically linked programs.

> > and it leaks internals of how ${CXX} works unnecessarily
> > into the build. That's a good enough reason for me to keep it.
> 
> The problem is that g++ links libstdc++ unconditionally.  At the time
> the workaround you removed was added groff was the only c++ code in
> tree and we only used g++, so we added this kludge that does leak
> knowledge of libsupc++ into the build process.  We now also have
> games/dab that is in c++ and doesn't need libstdc++ either.

There are a bunch of other things, including libGLU and ATF. Both use
real STL. Clang of course will in the future be a heavy user too.
There are some issues left due to the way our libraries are built, which
make it hard to completely remove the knowledge from anything outside
maybe share/mk for the purpose of dependency tracking. I'm working on
that part. I am still a bit unsure whether there will be a "low level"
C++ ABI in the midterm at all. There are simply not many good reasons
for having such an artifical library.

Joerg


Home | Main Index | Thread Index | Old Index