1*4882a593SmuzhiyunFrom c4ceb318aa1064bfa677cdd800c52155eb1bed3a Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Khem Raj <raj.khem@gmail.com>
3*4882a593SmuzhiyunDate: Thu, 23 Aug 2018 04:06:17 +0000
4*4882a593SmuzhiyunSubject: [PATCH] Fix build with non-glibc libc on musl
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunNeed to ensure glibc features are not assumed to be linux-wide
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunUpstream-Status: Pending
9*4882a593SmuzhiyunSigned-off-by: Khem Raj <raj.khem@gmail.com>
10*4882a593Smuzhiyun---
11*4882a593Smuzhiyun Source/JavaScriptCore/heap/MachineStackMarker.cpp         | 8 ++++----
12*4882a593Smuzhiyun .../inspector/JSGlobalObjectInspectorController.cpp       | 2 ++
13*4882a593Smuzhiyun 2 files changed, 6 insertions(+), 4 deletions(-)
14*4882a593Smuzhiyun
15*4882a593Smuzhiyundiff --git a/Source/JavaScriptCore/heap/MachineStackMarker.cpp b/Source/JavaScriptCore/heap/MachineStackMarker.cpp
16*4882a593Smuzhiyunindex 883914fd3..ce4e8d331 100644
17*4882a593Smuzhiyun--- a/Source/JavaScriptCore/heap/MachineStackMarker.cpp
18*4882a593Smuzhiyun+++ b/Source/JavaScriptCore/heap/MachineStackMarker.cpp
19*4882a593Smuzhiyun@@ -566,7 +566,7 @@ void* MachineThreads::Thread::Registers::stackPointer() const
20*4882a593Smuzhiyun #error Unknown Architecture
21*4882a593Smuzhiyun #endif
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun-#elif defined(__GLIBC__) && ENABLE(JIT)
24*4882a593Smuzhiyun+#elif defined(__linux__) && ENABLE(JIT)
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun #if CPU(X86)
27*4882a593Smuzhiyun     return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_ESP]);
28*4882a593Smuzhiyun@@ -665,7 +665,7 @@ void* MachineThreads::Thread::Registers::framePointer() const
29*4882a593Smuzhiyun #error Unknown Architecture
30*4882a593Smuzhiyun #endif
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun-#elif defined(__GLIBC__)
33*4882a593Smuzhiyun+#elif defined(__linux__)
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun // The following sequence depends on glibc's sys/ucontext.h.
36*4882a593Smuzhiyun #if CPU(X86)
37*4882a593Smuzhiyun@@ -747,7 +747,7 @@ void* MachineThreads::Thread::Registers::instructionPointer() const
38*4882a593Smuzhiyun #error Unknown Architecture
39*4882a593Smuzhiyun #endif
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun-#elif defined(__GLIBC__)
42*4882a593Smuzhiyun+#elif defined(__linux__)
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun // The following sequence depends on glibc's sys/ucontext.h.
45*4882a593Smuzhiyun #if CPU(X86)
46*4882a593Smuzhiyun@@ -838,7 +838,7 @@ void* MachineThreads::Thread::Registers::llintPC() const
47*4882a593Smuzhiyun #error Unknown Architecture
48*4882a593Smuzhiyun #endif
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun-#elif defined(__GLIBC__)
51*4882a593Smuzhiyun+#elif defined(__linux__)
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun // The following sequence depends on glibc's sys/ucontext.h.
54*4882a593Smuzhiyun #if CPU(X86)
55*4882a593Smuzhiyundiff --git a/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp b/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp
56*4882a593Smuzhiyunindex fd7f869d4..e95391b32 100644
57*4882a593Smuzhiyun--- a/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp
58*4882a593Smuzhiyun+++ b/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp
59*4882a593Smuzhiyun@@ -51,8 +51,10 @@
60*4882a593Smuzhiyun #include <cxxabi.h>
61*4882a593Smuzhiyun #if OS(DARWIN) || (OS(LINUX) && !PLATFORM(GTK))
62*4882a593Smuzhiyun #include <dlfcn.h>
63*4882a593Smuzhiyun+#if defined(__GLIBC__)
64*4882a593Smuzhiyun #include <execinfo.h>
65*4882a593Smuzhiyun #endif
66*4882a593Smuzhiyun+#endif
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun #if ENABLE(REMOTE_INSPECTOR)
69*4882a593Smuzhiyun #include "JSGlobalObjectDebuggable.h"
70