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