1 |
https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html |
2 |
makes for pretty interesting reading on this topic. |
3 |
|
4 |
https://youtu.be/Ic4j0ujWL-A looks interesting too. |
5 |
|
6 |
-gmt |
7 |
-gmt |
8 |
|
9 |
Greg Turner |
10 |
gmt@×××××××.net |
11 |
|
12 |
|
13 |
On Mon, Nov 30, 2015 at 3:31 AM, Anthony G. Basile <blueness@g.o> wrote: |
14 |
> On 11/30/15 6:17 AM, Anthony G. Basile wrote: |
15 |
>> different direction: what about building with |
16 |
>> rpath=/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/ and then making sure that |
17 |
>> portage respects that library file during any --depclean or |
18 |
>> @preserved-rebuild? i'm not sure how we'd |
19 |
>> inject LDFLAGS=-Wl,-rpath=... consistantly and sanely into all c++ builds. |
20 |
>> |
21 |
>> this would solve all problems i can see: 1) gcc-config reshuffles |
22 |
>> /etc/ld.so.conf.d/05gcc-<tuple>.conf but rpath takes presidence, 2) the |
23 |
>> correct library symbols are guaranteed to be there in both exe and lib. |
24 |
>> 3) it pro-actively guards against abi mismatches when switching gcc even |
25 |
>> for other languages like fortran, java, obj-c. |
26 |
> |
27 |
> oh i should add that we don't support switching back and forth between |
28 |
> c++98 and c++11. which is used is an upstream choice via whatever -std= |
29 |
> they add to the build system, otherwise we go with the compiler default. |
30 |
> |
31 |
> i'm going to play with situations like foo is built using |
32 |
> c++{98,11}/gcc-4.{8,9} and links against libbar built using |
33 |
> c++{98,11}/gcc-4.{8,9} and libbas similarly built using the rpath |
34 |
> technique and see what kind of wierdness i might hit. i stil think it |
35 |
> will work. |
36 |
> |
37 |
> -- |
38 |
> Anthony G. Basile, Ph.D. |
39 |
> Gentoo Linux Developer [Hardened] |
40 |
> E-Mail : blueness@g.o |
41 |
> GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA |
42 |
> GnuPG ID : F52D4BBA |
43 |
> |
44 |
> |