From cc3c27a7e997ef157ed469127f185a7bb6eb1feb Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Mon, 27 May 2019 23:51:32 +0200
Subject: [PATCH] Fix build with musl

Signed-off-by: Khem Raj <raj.khem@gmail.com>
[Retrieved (and slightly updated) from:
https://github.com/WebPlatformForEmbedded/meta-wpe/blob/master/recipes-wpe/wpewebkit/wpewebkit/0001-Fix-build-with-musl.patch]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 Source/JavaScriptCore/runtime/MachineContext.h | 10 +++++-----
 Source/WTF/wtf/PlatformHave.h                  |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/Source/JavaScriptCore/runtime/MachineContext.h b/Source/JavaScriptCore/runtime/MachineContext.h
index bf0bdc7a51a..78d2ec81838 100644
--- a/Source/JavaScriptCore/runtime/MachineContext.h
+++ b/Source/JavaScriptCore/runtime/MachineContext.h
@@ -146,7 +146,7 @@ inline void*& stackPointer(mcontext_t& machineContext)
 #error Unknown Architecture
 #endif

-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
+#elif OS(FUCHSIA) || OS(LINUX) || defined(__BIONIC__) 
 
 #if CPU(X86)
     return reinterpret_cast<void*&>((uintptr_t&) machineContext.gregs[REG_ESP]);
@@ -251,7 +251,7 @@ inline void*& framePointer(mcontext_t& machineContext)
 #error Unknown Architecture
 #endif

-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
+#elif OS(FUCHSIA) || OS(LINUX) || defined(__BIONIC__) 
 
 // The following sequence depends on glibc's sys/ucontext.h.
 #if CPU(X86)
@@ -354,7 +354,7 @@ inline void*& instructionPointer(mcontext_t& machineContext)
 #error Unknown Architecture
 #endif
 
-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
+#elif OS(FUCHSIA) || OS(LINUX) || defined(__BIONIC__)
 
 // The following sequence depends on glibc's sys/ucontext.h.
 #if CPU(X86)
@@ -466,7 +466,7 @@ inline void*& argumentPointer<1>(mcontext_t& machineContext)
 #error Unknown Architecture
 #endif

-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
+#elif OS(FUCHSIA) || OS(LINUX) || defined(__BIONIC__) 
 
 // The following sequence depends on glibc's sys/ucontext.h.
 #if CPU(X86)
@@ -583,7 +583,7 @@ inline void*& llintInstructionPointer(mcontext_t& machineContext)
 #error Unknown Architecture
 #endif

-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
+#elif OS(FUCHSIA) || OS(LINUX) || defined(__BIONIC__) 
 
 // The following sequence depends on glibc's sys/ucontext.h.
 #if CPU(X86)
diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
index e2a3388993f..95fe7c593cf 100644
--- a/Source/WTF/wtf/PlatformHave.h
+++ b/Source/WTF/wtf/PlatformHave.h
@@ -683,7 +683,7 @@
 #define HAVE_CFNETWORK_STORAGE_PARTITIONING 1
 #endif

-#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
+#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || OS(LINUX) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) 
 #define HAVE_MACHINE_CONTEXT 1
 #endif
 
-- 
2.20.1

