https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html
makes for pretty interesting reading on this topic.

https://youtu.be/Ic4j0ujWL-A looks interesting too.

-gmt
-gmt

Greg Turner
g...@be-evil.net


On Mon, Nov 30, 2015 at 3:31 AM, Anthony G. Basile <bluen...@gentoo.org> wrote:
> On 11/30/15 6:17 AM, Anthony G. Basile wrote:
>> different direction: what about building with
>> rpath=/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/ and then making sure that
>> portage respects that library file during any --depclean or
>> @preserved-rebuild?  i'm not sure how we'd
>> inject LDFLAGS=-Wl,-rpath=... consistantly and sanely into all c++ builds.
>>
>> this would solve all problems i can see: 1) gcc-config reshuffles
>> /etc/ld.so.conf.d/05gcc-<tuple>.conf but rpath takes presidence, 2) the
>> correct library symbols are guaranteed to be there in both exe and lib.
>> 3) it pro-actively guards against abi mismatches when switching gcc even
>> for other languages like fortran, java, obj-c.
>
> oh i should add that we don't support switching back and forth between
> c++98 and c++11.  which is used is an upstream choice via whatever -std=
> they add to the build system, otherwise we go with the compiler default.
>
> i'm going to play with situations like foo is built using
> c++{98,11}/gcc-4.{8,9} and links against libbar built using
> c++{98,11}/gcc-4.{8,9} and libbas similarly built using the rpath
> technique and see what kind of wierdness i might hit.  i stil think it
> will work.
>
> --
> Anthony G. Basile, Ph.D.
> Gentoo Linux Developer [Hardened]
> E-Mail    : bluen...@gentoo.org
> GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
> GnuPG ID  : F52D4BBA
>
>

Reply via email to