Emil Velikov <emil.l.veli...@gmail.com> writes: > On 14 March 2015 at 13:04, Emil Velikov <emil.l.veli...@gmail.com> wrote: >> On 13/03/15 22:10, Francisco Jerez wrote: >>> Emil Velikov <emil.l.veli...@gmail.com> writes: > ... >>>> >>>> * Use bundled library if newer (check the SONAME). >>>> >>>> For libgcc_s at least, the library does not seems to be forward compatible. >>>> >>> >>> That belongs to your list of myths, see: >>> https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html >>> >> Well spotted! As I've checked this (experimentally) some months ago, but >> I wasn't 100% sure about it - thus the "seems" rather than "is". >> >> Considering I cannot test atm (gcc 4.6 & gcc 4.7 fails to build), we'll >> say that I was delusional and add it to the myths list :P >> > Upon closer read though the document it seems that my statement above > should read "For libgcc_s at least, the library does not seem to be > _backward_ compatible.". Which is exactly what the spec says. > > The SONAME has been libgcc_so.so.1 for quite some time, while new > functions are added. As such when one links against libgcc_so.so.1 and > uses __function_foo, an older library with the same SONAME, might not > provide the it. > Of course, that's clear, and it's the reason for the whole breakage -- Steam is overriding the OS C++ runtime with an older minor version while the ABI is not backwards-compatible. That's why they should *only* override the OS runtime if the bundled library is newer (as you seem to have put into words yourself) *or* if it's a different, completely ABI-incompatible SONAME.
> As a reminder - this solution/workaround that is disabled by default. > It barely adds any code, plus people will have to explicitly opt-in to > use it. > > -Emil
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev