Title: [222495] trunk/Source
Revision
222495
Author
[email protected]
Date
2017-09-26 00:07:45 -0700 (Tue, 26 Sep 2017)

Log Message

Support building _javascript_Core with the Bionic C library
https://bugs.webkit.org/show_bug.cgi?id=177427

Reviewed by Michael Catanzaro.

Source/_javascript_Core:

When compiling with the Bionic C library, the MachineContext.h header
should enable the same code paths that are enabled for the GNU C library.

The Bionic C library defines the __BIONIC__ macro, but unlike other C
libraries that mimic the GNU one, it doesn't define __GLIBC__. So the
__BIONIC__ macro checks have to match the __GLIBC__ ones.

* runtime/MachineContext.h:
(JSC::MachineContext::stackPointer):
(JSC::MachineContext::framePointer):
(JSC::MachineContext::instructionPointer):
(JSC::MachineContext::argumentPointer<1>):
(JSC::MachineContext::llintInstructionPointer):

Source/WTF:

* wtf/Platform.h: Define HAVE_MACHINE_CONTEXT when __BIONIC__
is defined, i.e. when building with the Bionic C library.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (222494 => 222495)


--- trunk/Source/_javascript_Core/ChangeLog	2017-09-26 07:05:46 UTC (rev 222494)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-09-26 07:07:45 UTC (rev 222495)
@@ -1,3 +1,24 @@
+2017-09-26  Zan Dobersek  <[email protected]>
+
+        Support building _javascript_Core with the Bionic C library
+        https://bugs.webkit.org/show_bug.cgi?id=177427
+
+        Reviewed by Michael Catanzaro.
+
+        When compiling with the Bionic C library, the MachineContext.h header
+        should enable the same code paths that are enabled for the GNU C library.
+
+        The Bionic C library defines the __BIONIC__ macro, but unlike other C
+        libraries that mimic the GNU one, it doesn't define __GLIBC__. So the
+        __BIONIC__ macro checks have to match the __GLIBC__ ones.
+
+        * runtime/MachineContext.h:
+        (JSC::MachineContext::stackPointer):
+        (JSC::MachineContext::framePointer):
+        (JSC::MachineContext::instructionPointer):
+        (JSC::MachineContext::argumentPointer<1>):
+        (JSC::MachineContext::llintInstructionPointer):
+
 2017-09-25  Devin Rousso  <[email protected]>
 
         Web Inspector: move Console.addInspectedNode to DOM.setInspectedNode

Modified: trunk/Source/_javascript_Core/runtime/MachineContext.h (222494 => 222495)


--- trunk/Source/_javascript_Core/runtime/MachineContext.h	2017-09-26 07:05:46 UTC (rev 222494)
+++ trunk/Source/_javascript_Core/runtime/MachineContext.h	2017-09-26 07:07:45 UTC (rev 222495)
@@ -146,7 +146,7 @@
 #error Unknown Architecture
 #endif
 
-#elif defined(__GLIBC__)
+#elif defined(__GLIBC__) || defined(__BIONIC__)
 
 #if CPU(X86)
     return reinterpret_cast<void*&>((uintptr_t&) machineContext.gregs[REG_ESP]);
@@ -251,7 +251,7 @@
 #error Unknown Architecture
 #endif
 
-#elif defined(__GLIBC__)
+#elif defined(__GLIBC__) || defined(__BIONIC__)
 
 // The following sequence depends on glibc's sys/ucontext.h.
 #if CPU(X86)
@@ -354,7 +354,7 @@
 #error Unknown Architecture
 #endif
 
-#elif defined(__GLIBC__)
+#elif defined(__GLIBC__) || defined(__BIONIC__)
 
 // The following sequence depends on glibc's sys/ucontext.h.
 #if CPU(X86)
@@ -466,7 +466,7 @@
 #error Unknown Architecture
 #endif
 
-#elif defined(__GLIBC__)
+#elif defined(__GLIBC__) || defined(__BIONIC__)
 
 // The following sequence depends on glibc's sys/ucontext.h.
 #if CPU(X86)
@@ -583,7 +583,7 @@
 #error Unknown Architecture
 #endif
 
-#elif defined(__GLIBC__)
+#elif defined(__GLIBC__) || defined(__BIONIC__)
 
 // The following sequence depends on glibc's sys/ucontext.h.
 #if CPU(X86)

Modified: trunk/Source/WTF/ChangeLog (222494 => 222495)


--- trunk/Source/WTF/ChangeLog	2017-09-26 07:05:46 UTC (rev 222494)
+++ trunk/Source/WTF/ChangeLog	2017-09-26 07:07:45 UTC (rev 222495)
@@ -1,3 +1,13 @@
+2017-09-26  Zan Dobersek  <[email protected]>
+
+        Support building _javascript_Core with the Bionic C library
+        https://bugs.webkit.org/show_bug.cgi?id=177427
+
+        Reviewed by Michael Catanzaro.
+
+        * wtf/Platform.h: Define HAVE_MACHINE_CONTEXT when __BIONIC__
+        is defined, i.e. when building with the Bionic C library.
+
 2017-09-23  Said Abou-Hallawa  <[email protected]>
 
         Images may render partial frames even after loading all the encoded data

Modified: trunk/Source/WTF/wtf/Platform.h (222494 => 222495)


--- trunk/Source/WTF/wtf/Platform.h	2017-09-26 07:05:46 UTC (rev 222494)
+++ trunk/Source/WTF/wtf/Platform.h	2017-09-26 07:07:45 UTC (rev 222495)
@@ -679,7 +679,7 @@
 #define HAVE_CFNETWORK_STORAGE_PARTITIONING 1
 #endif
 
-#if OS(DARWIN) || ((OS(FREEBSD) || defined(__GLIBC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
+#if OS(DARWIN) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
 #define HAVE_MACHINE_CONTEXT 1
 #endif
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to