[libstdc++] Port-specific symbol exports, porting notes

Phil Edwards phil@jaj.com
Sun Jul 6 19:56:00 GMT 2003


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



More information about the Libstdc++ mailing list