[libstdc++] Use LD_RUN_PATH when linking abi_check

Phil Edwards phil@jaj.com
Tue Sep 3 16:17:00 GMT 2002


On Wed, Sep 04, 2002 at 01:05:20AM +0200, Rainer Orth wrote:
> Phil Edwards writes:
> 
> > Solaris?  It's not currently doing versioning, but it could with some
> > legwork.  More, I'm sure that someday not too far away it /will/ do
> > versioning, and then we'll have to support multilibs in check-abi anyhow.
> 
> Indeed: the current config/linker-map.gnu is GNU ld specific in two ways:

Yes.  That's the point.  That's the ".gnu" in the name of the file.  :-)


> * It uses extern "C++", which of course depends on g++ name mangling and
>   thus cannot be reasonably be expected to be supported by Sun ld.  So
>   we'll have to replace the mangled forms here.
>
> * It uses wildcards for symbol names instead of the full names.  For use
>   with Sun ld, these will have to be expanded manually.

Augh, no.

There are some 3000 exported symbols.  I flat refuse to track a master
copy of those by hand in any form, especially mangled.

We can -- and this has I believe been the expectation -- keep an automated
list for other linkers.  That's why we have the name of the linker appended
to the config/linker-map files, and that's why GLIBCPP_ENABLE_SYMVERS is
prepared to have other linker/versioning schemes added to it.

I have no problem with a generated config/linker-map.sun (or whatever) file.
But replacing linker-map.gnu with a dummified expanded version is right out.


Put another way:  GNU ld has features to make our lives easier, and we'll
keep using them.  Crappier linkers will have to work harder.  :-)


Phil

-- 
I would therefore like to posit that computing's central challenge, viz. "How
not to make a mess of it," has /not/ been met.
                                                 - Edsger Dijkstra, 1930-2002



More information about the Libstdc++ mailing list