Bug 1478293 - Mark RecordReplayInterceptObjCMessage as used. r?froydnj
So that LTO doesn't eliminate it, leaving the assembly from RR_objc_msgSend
unable to find it.
--- a/toolkit/recordreplay/ProcessRedirectDarwin.cpp
+++ b/toolkit/recordreplay/ProcessRedirectDarwin.cpp
@@ -1683,17 +1683,17 @@ struct NSFastEnumerationState
};
// Emulation of NSFastEnumeration on arrays does not replay any exceptions
// thrown by mutating the array while it is being iterated over.
static unsigned long gNeverChange;
extern "C" {
-size_t
+size_t __attribute__((used))
RecordReplayInterceptObjCMessage(MessageArguments* aArguments)
{
if (AreThreadEventsPassedThrough()) {
aArguments->scratch = (size_t) OriginalFunction(CallEvent_objc_msgSend);
return 1;
}
EnsureNotDivergedFromRecording();