Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Jan 2013 16:12:00 +0000
From:      David Chisnall <theraven@FreeBSD.org>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        "toolchain@freebsd.org" <toolchain@FreeBSD.org>, Hongli Lai <hongli@phusion.nl>, Pedro Giffuni <pfg@FreeBSD.org>
Subject:   Re: standards/175453: Catching C++ std::bad_cast doesn't work in FreeBSD 9.1
Message-ID:  <398F1CB4-D4B0-4C21-BA05-59DDE77C5DA6@FreeBSD.org>
In-Reply-To: <20130121044912.GE2522@kib.kiev.ua>
References:  <201301201652.r0KGq0d1042817@red.freebsd.org> <20130121014745.GD2522@kib.kiev.ua> <1358741301.62974.YahooMailNeo@web162102.mail.bf1.yahoo.com> <20130121044912.GE2522@kib.kiev.ua>

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

--Apple-Mail=_73AF96C3-09F4-403A-82C3-F033D08744E0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=koi8-r

On 21 Jan 2013, at 04:49, Konstantin Belousov wrote:

> Yes, quite possible. AFAIR, the 'catch' code compares the exception =
classes
> by the shared object ownership. It might get confused due to filter =
providing
> some symbols.
>=20
> But I did not investigated the cause for real.

The issue appears to be that the libstdc++ exports a few functions[1] =
that libsupc++ exports, but with different symbol versions.  =
Unfortunately, these are things that set handlers that are then called =
from libsupc++ / libcxxrt when, for example, an exception specification =
violation is encountered.

I'm not sure what the solution is here.  Is there some =
version-script-foo that we can do to say 'filter this symbol with this =
version as if it were this one with this version'?  We ideally want to =
keep them with the current version in libcxxrt / libsupc++, but not =
introduce linker errors. =20

David

[1] std::set_new_handler(), std::set_terminate(), std::set_unexpected()=

--Apple-Mail=_73AF96C3-09F4-403A-82C3-F033D08744E0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.18 (Darwin)

iQIcBAEBAgAGBQJQ/WjRAAoJEKx65DEEsqId6HYP/2e/PV0Ht/amvqFTJOEafsdm
JHk+Uqmr0BMnspbjVXTaN0U6juEcRoDSN5EEG1St7sJ7TVn+lG9/ZqpC7MOb23/P
xR7AMobZFpT19s77z68e4T3AaTkcHMuNg/85dj7QdNbQDa4QnB1o2uQyUb4LV19l
QmVvKE26QTVt1BFdf04ChIovRCy/3/u+WkcN0rVKpUfcUGXic+Zsmc0FvHUDB+IT
kgPMohFBXjqH2gBWJR41oiJcgedEzrCvWa4uzHXkzE/tybrUbtMnjW3ztfp1xbSp
Xi2e/eJ1c/RtZhtDssJB1iX9tD0T/uda5eedtLKIucaOHP5qYcIzNu2W9xre3qnB
VjQkG//ZcHy5PlUpLiY+SkiMx39U2CK57JzjCfBngcnfxoB4Suhnf1l6Nsnetyn6
VvgSx9WPowmuaIeiQvXDJo+sLj5OQabIo2gCQwxPTbU06YWPegrydMks/PwPHQXt
AWiP9pkMU/HisK5YNeDOCh8rAWbULyCphuj7+aLG1ps/vs2hb15Ln3VJkLFSZdjT
yjFrQztRQAmKvLhnaARc7ZFmFxrerRtaLtL5VGgfD18rboLyJfL1yCPFrjbDEJhB
94M22FFcmQQ1gtjxhh+qfiKPSCQupoagy/1ifu8hDvoU17Us40R0MM3nCaZw1QvM
z9Keg+zxLcFwcaMFE7gn
=BDgG
-----END PGP SIGNATURE-----

--Apple-Mail=_73AF96C3-09F4-403A-82C3-F033D08744E0--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?398F1CB4-D4B0-4C21-BA05-59DDE77C5DA6>