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