Title: [199458] trunk/Source/_javascript_Core
Revision
199458
Author
[email protected]
Date
2016-04-13 03:50:50 -0700 (Wed, 13 Apr 2016)

Log Message

Fix build in glibc-based BSD systems
https://bugs.webkit.org/show_bug.cgi?id=156533

Reviewed by Carlos Garcia Campos.

Change the order of the #elif conditionals so glibc-based BSD
systems (e.g. Debian GNU/kFreeBSD) use the code inside the
OS(FREEBSD) blocks.

* heap/MachineStackMarker.cpp:
(JSC::MachineThreads::Thread::Registers::stackPointer):
(JSC::MachineThreads::Thread::Registers::framePointer):
(JSC::MachineThreads::Thread::Registers::instructionPointer):
(JSC::MachineThreads::Thread::Registers::llintPC):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (199457 => 199458)


--- trunk/Source/_javascript_Core/ChangeLog	2016-04-13 10:21:32 UTC (rev 199457)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-04-13 10:50:50 UTC (rev 199458)
@@ -1,3 +1,20 @@
+2016-04-13  Alberto Garcia  <[email protected]>
+
+        Fix build in glibc-based BSD systems
+        https://bugs.webkit.org/show_bug.cgi?id=156533
+
+        Reviewed by Carlos Garcia Campos.
+
+        Change the order of the #elif conditionals so glibc-based BSD
+        systems (e.g. Debian GNU/kFreeBSD) use the code inside the
+        OS(FREEBSD) blocks.
+
+        * heap/MachineStackMarker.cpp:
+        (JSC::MachineThreads::Thread::Registers::stackPointer):
+        (JSC::MachineThreads::Thread::Registers::framePointer):
+        (JSC::MachineThreads::Thread::Registers::instructionPointer):
+        (JSC::MachineThreads::Thread::Registers::llintPC):
+
 2016-04-12  Keith Miller  <[email protected]>
 
         Unreviewed undo change from ArrayClass to ArrayWithUndecided, which

Modified: trunk/Source/_javascript_Core/heap/MachineStackMarker.cpp (199457 => 199458)


--- trunk/Source/_javascript_Core/heap/MachineStackMarker.cpp	2016-04-13 10:21:32 UTC (rev 199457)
+++ trunk/Source/_javascript_Core/heap/MachineStackMarker.cpp	2016-04-13 10:50:50 UTC (rev 199458)
@@ -550,34 +550,34 @@
 
 #elif USE(PTHREADS)
 
-#if defined(__GLIBC__) && ENABLE(JIT)
+#if OS(FREEBSD) && ENABLE(JIT)
 
 #if CPU(X86)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_ESP]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_esp);
 #elif CPU(X86_64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_RSP]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_rsp);
 #elif CPU(ARM)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.arm_sp);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.__gregs[_REG_SP]);
 #elif CPU(ARM64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.sp);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_gpregs.gp_sp);
 #elif CPU(MIPS)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[29]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_regs[29]);
 #else
 #error Unknown Architecture
 #endif
 
-#elif OS(FREEBSD) && ENABLE(JIT)
+#elif defined(__GLIBC__) && ENABLE(JIT)
 
 #if CPU(X86)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_esp);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_ESP]);
 #elif CPU(X86_64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_rsp);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_RSP]);
 #elif CPU(ARM)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.__gregs[_REG_SP]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.arm_sp);
 #elif CPU(ARM64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_gpregs.gp_sp);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.sp);
 #elif CPU(MIPS)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_regs[29]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[29]);
 #else
 #error Unknown Architecture
 #endif
@@ -649,35 +649,35 @@
 #error Unknown Architecture
 #endif
 
-#elif defined(__GLIBC__)
+#elif OS(FREEBSD)
 
-// The following sequence depends on glibc's sys/ucontext.h.
 #if CPU(X86)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_EBP]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_ebp);
 #elif CPU(X86_64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_RBP]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_rbp);
 #elif CPU(ARM)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.arm_fp);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.__gregs[_REG_FP]);
 #elif CPU(ARM64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.regs[29]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_gpregs.gp_x[29]);
 #elif CPU(MIPS)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[30]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_regs[30]);
 #else
 #error Unknown Architecture
 #endif
 
-#elif OS(FREEBSD)
+#elif defined(__GLIBC__)
 
+// The following sequence depends on glibc's sys/ucontext.h.
 #if CPU(X86)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_ebp);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_EBP]);
 #elif CPU(X86_64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_rbp);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_RBP]);
 #elif CPU(ARM)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.__gregs[_REG_FP]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.arm_fp);
 #elif CPU(ARM64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_gpregs.gp_x[29]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.regs[29]);
 #elif CPU(MIPS)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_regs[30]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[30]);
 #else
 #error Unknown Architecture
 #endif
@@ -731,35 +731,35 @@
 #error Unknown Architecture
 #endif
 
-#elif defined(__GLIBC__)
+#elif OS(FREEBSD)
 
-// The following sequence depends on glibc's sys/ucontext.h.
 #if CPU(X86)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_EIP]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_eip);
 #elif CPU(X86_64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_RIP]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_rip);
 #elif CPU(ARM)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.arm_pc);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.__gregs[_REG_PC]);
 #elif CPU(ARM64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.pc);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_gpregs.gp_elr);
 #elif CPU(MIPS)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.pc);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_pc);
 #else
 #error Unknown Architecture
 #endif
 
-#elif OS(FREEBSD)
+#elif defined(__GLIBC__)
 
+// The following sequence depends on glibc's sys/ucontext.h.
 #if CPU(X86)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_eip);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_EIP]);
 #elif CPU(X86_64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_rip);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_RIP]);
 #elif CPU(ARM)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.__gregs[_REG_PC]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.arm_pc);
 #elif CPU(ARM64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_gpregs.gp_elr);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.pc);
 #elif CPU(MIPS)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_pc);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.pc);
 #else
 #error Unknown Architecture
 #endif
@@ -822,35 +822,35 @@
 #error Unknown Architecture
 #endif
 
-#elif defined(__GLIBC__)
+#elif OS(FREEBSD)
 
-// The following sequence depends on glibc's sys/ucontext.h.
 #if CPU(X86)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_ESI]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_esi);
 #elif CPU(X86_64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_R8]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_r8);
 #elif CPU(ARM)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.arm_r8);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.__gregs[_REG_R8]);
 #elif CPU(ARM64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.regs[4]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_gpregs.gp_x[4]);
 #elif CPU(MIPS)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[12]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_regs[12]);
 #else
 #error Unknown Architecture
 #endif
 
-#elif OS(FREEBSD)
+#elif defined(__GLIBC__)
 
+// The following sequence depends on glibc's sys/ucontext.h.
 #if CPU(X86)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_esi);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_ESI]);
 #elif CPU(X86_64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_r8);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_R8]);
 #elif CPU(ARM)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.__gregs[_REG_R8]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.arm_r8);
 #elif CPU(ARM64)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_gpregs.gp_x[4]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.regs[4]);
 #elif CPU(MIPS)
-    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.mc_regs[12]);
+    return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[12]);
 #else
 #error Unknown Architecture
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to