Date: Fri, 23 Mar 2012 23:39:44 +0000 From: David Chisnall <theraven@FreeBSD.org> To: Konstantin Belousov <kostikbel@gmail.com> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Alexander Kabaev <kabaev@gmail.com> Subject: Re: svn commit: r233391 - head/contrib/libstdc++/libsupc++ Message-ID: <9FDB5808-2EE9-4F38-86E6-D0C115E7677C@FreeBSD.org> In-Reply-To: <20120323211038.GR2358@deviant.kiev.zoral.com.ua> References: <201203232010.q2NKAuIE092217@svn.freebsd.org> <20120323202335.GM2358@deviant.kiev.zoral.com.ua> <20120323164922.0bac354e@kan.dyndns.org> <20120323211038.GR2358@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On 23 Mar 2012, at 21:10, Konstantin Belousov wrote: > The patch just committed made the base-shipped library incompatible > with the ports and manual libstdc++ builds. To clarify - the one shipped in the base system has been incompatible = with the one in ports since late 2007... In future, however, we will want libstdc++ in ports to be using the = system ABI library (e.g. libcxxrt) so that it can be linked with = libraries using the system C++ stack, so the layout of std::type_info in = its headers doesn't matter too much because it won't be used. > I think it is wiser to > not 'undo the undo', and instead start living with the = upstream-approved > ABI. For symvered library, it does not make any difference if you = break it > in 10.0 or 9.1. Not true. The vtable layout can not be symbol versioned effectively. = The std::type_info class is required by the ABI to exist (and is in = libsupc++ / libcxxrt, so is independent of our STL implementation, = either libstdc++ or libc++). Users expect to be able to cast=20 > Also, I think that consumers that depend of the ABI of std::typeinfo = can > be hacked to understand the layout of vtable. Supporting both layouts is not really tenable. We need to do one of the = following: - Say 'we are going to break this now!' and force people to recompile = libsupc++, libcxxrt, and libobjc2. - Keep the layout that we currently ship and patch <typeinfo> in ports. I don't mind which of these we do since I'm not the one that has to do = the work in ensuring compatibility with ports but it will need to pick = one and then stick to it... > I doubt that there are > many users that utilize typeinfo. Yes, to my knowledge there are three, and two of them are me :-( David=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9FDB5808-2EE9-4F38-86E6-D0C115E7677C>