We have seen failing builds due to a race condition between
RTAsan_dynamic and libc++ headers builds, specifically libc++
headers depend on __config and if this header hasn't been copied
into the final location, including other headers will typically
result in failure. To avoid this race, we add an explicit dependency
on libc++ headers which ensures that they've been copied into place
before the sanitizer object library build starts.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
This comment was removed by phosek.
Comment Actions
Here's an example of one such failure: https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket.appspot.com/8931024528216969696/+/steps/clang/0/steps/build/0/stdout
This is not a particularly pretty solution, but we already use it for XRay and Fuzzer. I'll try to think of a better way to handle this, but in the meantime this should avoid the build failures we've been seeing increasingly more often, especially on macOS.