With the attached patch I get some link errors involving
0:08.91 Undefined symbols for architecture x86_64:
0:08.91 "__ZN7mozilla12recordreplay30InternalEndOrderedAtomicAccessEv", referenced from:
0:08.91 __ZN7mozilla12recordreplayL22EndOrderedAtomicAccessEv in Unified_cpp_memory_replace_phc0.o
0:08.91 "__ZN7mozilla12recordreplay23gIsRecordingOrReplayingE", referenced from:
0:08.91 __ZN7mozilla12recordreplayL22IsRecordingOrReplayingEv in Unified_cpp_memory_replace_phc0.o
0:08.91 "__ZN7mozilla12recordreplay32InternalBeginOrderedAtomicAccessEPKv", referenced from:
0:08.91 __ZN7mozilla12recordreplayL24BeginOrderedAtomicAccessEPKv in Unified_cpp_memory_replace_phc0.o
0:08.92 ld: symbol(s) not found for architecture x86_64
0:08.92 clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
0:08.92 make: *** [../../../../dist/bin/logalloc-replay] Error 1
0:08.92 make: *** [memory/replace/logalloc/replay/target] Error 2
0:08.92 make: *** Waiting for unfinished jobs....
bhackett, glandium: any ideas what is the matter?
- PHC is somewhat special, being in
memory/replace/, which means it's not part of libxul.
- PHC doesn't contain any
recordreplay code, AFAICT, though it's possible it pulls some in via header inclusion.
- PHC is already implemented for Linux and Windows, and I haven't seen any problems like this on those platforms.
- The error is in
memory/replace/logalloc/replay/, and the
moz.build file in that directory does have some PHC-specific stuff in it involving some
.cpp files in mozglue and MFBT. So that might be relevant.