Retry mmap() without MAP_JIT on older macOS

The MAP_JIT flag is only supported on macOS 10.14 and higher, so mmap()
may fail on older ones.

Bug: chromium:985816
Change-Id: If0e12d61b7f243d804e0213a43160e7b3db106d3
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/34511
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/Reactor/ExecutableMemory.cpp b/src/Reactor/ExecutableMemory.cpp
index 24c83ce..15d5b39 100644
--- a/src/Reactor/ExecutableMemory.cpp
+++ b/src/Reactor/ExecutableMemory.cpp
@@ -247,6 +247,13 @@
 
 		if(mapping == MAP_FAILED)
 		{
+			// Retry without MAP_JIT (for older macOS versions).
+			mapping = mmap(nullptr, length, PROT_READ | PROT_WRITE,
+			               MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+		}
+
+		if(mapping == MAP_FAILED)
+		{
 			mapping = nullptr;
 		}
 	#else