[PATCH] D31063: LTO: Fix a potential race condition in the caching API.

Ulrich Weigand via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 20 13:07:50 PDT 2017

uweigand added a comment.

In https://reviews.llvm.org/D31063#704297, @uweigand wrote:

> This fails on the build bot machine, but succeeds on my other development machines.  It appears the problem is related to the fact on this machine (running SLES12), the system compiler is a gcc 4.8, but the system libstdc++ library is one from gcc 6.  This of course is supposed to be a compatible combination, but apparently there is a problem when comparing error codes.  The value is the same, but the category class pointer doesn't match, apparently because in the gcc 6 libstdc++ there are two flavours of those classes, and when mixing gcc 4.8 and gcc 6 code, sometimes wrong versions get compared ...

> I'll work with the distro to hopefully get this fixed, but maybe we can get a workaround along those  lines installed so the build bot can continue to run in the meantime?

Unfortunately it looks like this is a known issue; there are some C++11 related incompatibilities between the gcc 4.8 and gcc 6 versions of libstdc++.  Since C++11 support in GCC 4.8 was considered experimental to begin with, there are no plans for fixing this at this point.

I guess that means we're stuck with the workaround (the latest iteration using LLVM's errc works fine).



More information about the llvm-commits mailing list