This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [v3] Filter out basever symbols on Solaris
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Paolo Carlini <paolo dot carlini at oracle dot com>
- Cc: Andreas Schwab <schwab at suse dot de>, gcc-patches at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org
- Date: Wed, 06 Mar 2013 14:25:00 +0100
- Subject: Re: [v3] Filter out basever symbols on Solaris
- References: <ydd38wj2t4l.fsf@lokon.CeBiTec.Uni-Bielefeld.DE> <mvm621fuw30.fsf@hawking.suse.de> <yddfw0i83k5.fsf@lokon.CeBiTec.Uni-Bielefeld.DE> <yddk3pkbxb8.fsf@lokon.CeBiTec.Uni-Bielefeld.DE> <51374064.3020606@oracle.com>
Hi Paolo,
>>>> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
>>>>
>>>>> diff --git a/libstdc++-v3/scripts/extract_symvers.in b/libstdc++-v3/scripts/extract_symvers.in
>>>>> --- a/libstdc++-v3/scripts/extract_symvers.in
>>>>> +++ b/libstdc++-v3/scripts/extract_symvers.in
>>>>> @@ -49,9 +49,12 @@ SunOS)
>>>>> if readelf --help | grep -- --wide > /dev/null; then
>>>>> readelf="$readelf --wide"
>>>>> fi
>>>>> + # Omit _DYNAMIC etc. for consistency with extract_symvers.pl, only
>>>>> + # present on Solaris.
>>>>> ${readelf} ${lib} |\
>>>>> sed -e 's/ \[<other>: [A-Fa-f0-9]*\] //' -e '/\.dynsym/,/^$/p;d' |\
>>>>> egrep -v ' (LOCAL|UND) ' |\
>>>>> + egrep -v '(_DYNAMIC|_GLOBAL_OFFSET_TABLE_|_PROCEDURE_LINKAGE_TABLE_|_edata|_end|_etext)$' |\
>>>> Shouldn't the regexp also be anchored (with a space) at the beginning?
>>> This works indeed. I was a bit worried if a space was guaranteed at
>>> that position, rather than general whitespace. Consider the patch
>>> amended accordingly.
>> Any word on this patch? Is has remained unreviewed for a week.
> Sorry about the delay. If you can convince me that the change is guaranteed
> to affect only Solaris, then you will not need a specific approval.
Unless those symbols were explicitly exported in config/abi/pre/gnu*.ver
(which they are not, otherwise the x86_64-unknown-linux-bootstrap would
have shown a failure), they couldn't make it into libstdc++.so. They
only occur on Solaris because gld explicitly adds them itself.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University