Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Jan 2013 16:35:31 +0000
From:      David Chisnall <theraven@FreeBSD.org>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        toolchain@FreeBSD.org
Subject:   Re: Removing default build of gcc
Message-ID:  <8A0C6AD5-F247-4488-B44A-85AC2D539D4D@FreeBSD.org>
In-Reply-To: <20130126152225.GC2522@kib.kiev.ua>
References:  <74D8E686-3679-46F2-8A08-4CF5DFC020CA@FreeBSD.org> <20130125113122.GN2522@kib.kiev.ua> <E0EA1F1F-99BB-47F5-94A3-1C197F680BD9@bsdimp.com> <20130125195941.GW2522@kib.kiev.ua> <F27709EE-6C8E-4943-BFAF-CF05AB34C1ED@FreeBSD.org> <20130126152225.GC2522@kib.kiev.ua>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
On 26 Jan 2013, at 15:22, Konstantin Belousov wrote:

> Your initial assesment of the problem as a misbehaviour of the combination
> of filtering and versioning made no sense to me, I asked you to provide
> the isolated test case, which you did not.

The test case in the PR was such a test case.  libstdc++ and libsupc++ export a few symbols (including the ones that I mentioned in the email that you are replying to) with different versions.  The end result is that you get some cases where some code (typically in libsupc++) 

I am not claiming that this is an rtld bug, so I don't know why you keep going on about it as if I am.  I do not know why you want me to provide you with an isolated test case for a bug that is assigned to me and that I am in the process of fixing.

> Our implementation of filters indeed only allows for the filtered
> symbol to have the same version as the filtee symbol. I re-read the
> SUN documentation about filters (who had designed them), and looked at
> what Linux does there. It seems to me that Sun document spirit forces
> us to behave in a way which our rtld currently does. Linux behaviour is
> useless there, IMHO, since their rtld just inserts filtee before filter
> in the global lookup order (I may be wrong there).

This is COMPLETELY IRRELEVANT to the bug in question, which is that our libcxxrt and libsupc++ version scripts have some incorrect symbol versions.

> I do suggest (again) that the way to fix the issue is to provide the
> isolated test-case and decide if the behaviour of rtld is right.

It is correct.  I am not claiming it is incorrect.  I don't know why you keep repeating that I am.  

> If we
> conclude that the problem is not in rtld but in the versioning mismatch
> between libraries (libstdc++ and libsupc++), I again suggest to provide
> the patch for review first. The ABI seems to become too unwieldly, and
> making ad-hoc changes there could paint us into the corner.

I have a patch, which fixes it in some cases and has been tested, but misses some others.  I am preparing a patch that fixes the versioning consistently across libsupc++ and libcxxrt to match libstdc++.  I want to do this as a single patch, rather than an ad hoc series of changes.  My aim is, as it has always been, to preserve the existing ABI. 

David
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.18 (Darwin)

iQIcBAEBAgAGBQJRBAXTAAoJEKx65DEEsqIdbcsQALSJ8dbfVWKtXszQc+p6wJG2
cA4mHmRaeDUBcJ0iCwIQQhtwysmYLZ3varoPoOs/2GDZI1LXxXlmThbjOyn57K3x
2GtKju7UaZFxxcWBfEvv5Je4gUXpXDUxuqtzbalMKjHFrrkFRvDLv2z1P57md5Aa
3BxMmg3cnq41qcHdq2Uepq+Vg87UCo76MHGgs9JR5CWSVDqG9FYEu+rZG7Pcr/jd
cYRoX/GuG+GCvzJnEc7i/eSPmJD1YhMG6qHPw9lXlewo0nehg0HBENgfhFr5AHo9
/02mD5XzoI3BI8RfeeUKNDkhrPdeqEXR8K5eDvzjf73eCke5kQ1jQio6zhx/O/2Q
FHpQ5MXfOeRGsXdjeshktUSgJFH6N5ToepO2EcJ8E4x7y+I82E5ylU2b1OCJ/DGZ
H/4zIXw852oXF8Fua4qeIIGOufQirBAY5xY2Bm4Bd/QN6k89NKb7e7e2MP6CSumz
Q6GM4TPDI+Ixvvmi5tF7lPyrYaLDDCChWBZK5oAeifLh7yAV6u49T4ykQ81QjTtj
4LiyvRxf03u1yeioX8MKwzJ3ITrcamRlQCcJzrDLThGS9uBNWRefYf32yq3tAeZt
wtE/WdDngiivL0OS9a0cGn8FB7tVcRiyv+NxPChj6v2tPQK2uZN1x+ZZmrB+rtt6
UNSN371KvxhVl3jL9mGq
=HW4T
-----END PGP SIGNATURE-----
home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8A0C6AD5-F247-4488-B44A-85AC2D539D4D>