Bug#598956: On kfreebsd going into web pane segfaults Liferea.
Petr Salinger
Petr.Salinger at seznam.cz
Thu Oct 7 06:00:46 UTC 2010
Hi,
given it has only problems on (kfreebsd-)i386, please could you try whether
patch bellow is sufficient to stop crash (instead of disabling JIT) ?
Only wild guess, though.
Petr
--- JavaScriptCore/jit/JITOpcodes.cpp
+++ JavaScriptCore/jit/JITOpcodes.cpp
@@ -165,7 +165,7 @@
* stack pointer by the right amount after the call.
*/
-#if COMPILER(MSVC) || OS(LINUX)
+#if COMPILER(MSVC) || OS(LINUX) || defined(__GLIBC__)
#if COMPILER(MSVC)
#pragma pack(push)
#pragma pack(4)
@@ -228,7 +228,7 @@
storePtr(regT2, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, thisValue) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)));
storePtr(regT3, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, thisValue) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)));
-#if COMPILER(MSVC) || OS(LINUX)
+#if COMPILER(MSVC) || OS(LINUX) || defined(__GLIBC__)
// ArgList is passed by reference so is stackPointerRegister + 4 * sizeof(Register)
addPtr(Imm32(OBJECT_OFFSETOF(NativeCallFrameStructure, result)), stackPointerRegister, X86Registers::ecx);
@@ -1689,7 +1689,7 @@
* not the rest of the callframe so we need a nice way to ensure we increment the
* stack pointer by the right amount after the call.
*/
-#if COMPILER(MSVC) || OS(LINUX)
+#if COMPILER(MSVC) || OS(LINUX) || defined(__GLIBC__)
struct NativeCallFrameStructure {
// CallFrame* callFrame; // passed in EDX
JSObject* callee;
@@ -1742,7 +1742,7 @@
loadPtr(Address(regT1, -(int)sizeof(Register)), regT1);
storePtr(regT1, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, thisValue)));
-#if COMPILER(MSVC) || OS(LINUX)
+#if COMPILER(MSVC) || OS(LINUX) || defined(__GLIBC__)
// ArgList is passed by reference so is stackPointerRegister + 4 * sizeof(Register)
addPtr(Imm32(OBJECT_OFFSETOF(NativeCallFrameStructure, result)), stackPointerRegister, X86Registers::ecx);
More information about the Pkg-webkit-maintainers
mailing list