This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [libstdc++] Port-specific symbol exports, porting notes
- From: Phil Edwards <phil at jaj dot com>
- To: Andreas Jaeger <aj at suse dot de>
- Cc: libstdc++ at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Sun, 6 Jul 2003 15:56:26 -0400
- Subject: Re: [libstdc++] Port-specific symbol exports, porting notes
- References: <20030706040709.GA32051@disaster.jaj.com> <u8k7avomw4.fsf@gromit.moeb>
Ah, found it. When we first added symbol versioning support, I stumbled
across (and fixed) a bug in ld's script parser that wasn't handling wildcards
correctly. Some vendors backported the fix to older version numbers, and
Jakub added a test (http://gcc.gnu.org/ml/libstdc++/2002-03/msg00038.html)
so that it all went like this:
if (the version is recent enough) then
use linker-map.gnu
else
if (the linker can magically handle wildcards correctly anyhow)
then
assume the globbing fix got backported
use linker-map.gnu
else
use linker-map.placeholder
fi
fi
People are now taking the "assumption" branch, which apparently I hadn't
tested enough (although my notes say that it worked, way back when...).
Is there any particular need for GCC 3.4 to support symbol versioning under
binutils 2.11? The globbing fix was in 2.12. I'd prefer to remove the
"if it can magically handle wildcards" test altogether, which will restore
bootstraps, but not address Andreas' objections. (That's a later patch.)
Phil
--
If ye love wealth greater than liberty, the tranquility of servitude greater
than the animating contest for freedom, go home and leave us in peace. We seek
not your counsel, nor your arms. Crouch down and lick the hand that feeds you;
and may posterity forget that ye were our countrymen. - Samuel Adams