File qt-4.7.0-javascriptcore.patch of Package mingw32-libqt4
--- src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h 2010-09-10 11:05:24.000000000 +0200
+++ src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h 2010-10-31 20:32:07.000000000 +0100
@@ -100,7 +100,7 @@
ReturnAddressPtr* returnAddressSlot() { return reinterpret_cast<ReturnAddressPtr*>(this) - 1; }
};
#elif CPU(X86)
-#if COMPILER(MSVC)
+#if COMPILER(MSVC) || (OS(WINDOWS) && COMPILER(GCC))
#pragma pack(push)
#pragma pack(4)
#endif // COMPILER(MSVC)
@@ -127,7 +127,7 @@
// When JIT code makes a call, it pushes its return address just below the rest of the stack.
ReturnAddressPtr* returnAddressSlot() { return reinterpret_cast<ReturnAddressPtr*>(this) - 1; }
};
-#if COMPILER(MSVC)
+#if COMPILER(MSVC) || (OS(WINDOWS) && COMPILER(GCC))
#pragma pack(pop)
#endif // COMPILER(MSVC)
#elif CPU(ARM_THUMB2)
--- src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp 2010-09-10 11:05:24.000000000 +0200
+++ src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp 2010-10-31 20:28:23.000000000 +0100
@@ -96,6 +96,13 @@
#define COLLECT_ON_EVERY_ALLOCATION 0
+#if defined(__MINGW64_VERSION_MAJOR)
+extern "C" {
+void * __mingw_aligned_malloc (size_t, size_t);
+void __mingw_aligned_free (void *);
+}
+#endif
+
using std::max;
namespace JSC {