From a7ee4a505dd63fe1e71bf276ed882a271b869dbe Mon Sep 17 00:00:00 2001 From: hans Date: Thu, 16 Feb 2012 20:42:46 +0000 Subject: Make this build again on SunOS. The change to src/3rdparty/webkit/Source/JavaScriptCore/heap/MachineStackMarker.cpp is untested. --- x11/qt4-libs/distinfo | 7 +- ...urce_JavaScriptCore_heap_MachineStackMarker.cpp | 92 ++++++++++++++++++++++ ...y_webkit_Source_JavaScriptCore_jit_JITStubs.cpp | 4 +- ...y_webkit_Source_JavaScriptCore_wtf_MathExtras.h | 13 +++ ...ty_webkit_Source_JavaScriptCore_wtf_Threading.h | 13 +++ 5 files changed, 125 insertions(+), 4 deletions(-) create mode 100644 x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_heap_MachineStackMarker.cpp create mode 100644 x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_wtf_MathExtras.h create mode 100644 x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_wtf_Threading.h (limited to 'x11') diff --git a/x11/qt4-libs/distinfo b/x11/qt4-libs/distinfo index b963327ee4a..6a95bfd8d01 100644 --- a/x11/qt4-libs/distinfo +++ b/x11/qt4-libs/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.69 2012/01/23 08:16:36 joerg Exp $ +$NetBSD: distinfo,v 1.70 2012/02/16 20:42:46 hans Exp $ SHA1 (qt-everywhere-opensource-src-4.8.0.tar.gz) = 2ba35adca8fb9c66a58eca61a15b21df6213f22e RMD160 (qt-everywhere-opensource-src-4.8.0.tar.gz) = 7506dce7743215481fd9fe56920b8a47f07a112e @@ -39,7 +39,10 @@ SHA1 (patch-cg) = 2519fe525237167f10dffb9294c861f4d7063f31 SHA1 (patch-ci) = bc85adf9ea17be24f92897b960517941f5b28ab7 SHA1 (patch-cj) = 4f6d3546e3bc04ca2034af21645fc6f27bc82eef SHA1 (patch-qmake_generators_makefile.cpp) = 54184d85fd06c86a62640add6c8334ca323ea863 -SHA1 (patch-src_3rdparty_webkit_Source_JavaScriptCore_jit_JITStubs.cpp) = 11059a233c4b272084a85c077a8118e863aad25b +SHA1 (patch-src_3rdparty_webkit_Source_JavaScriptCore_heap_MachineStackMarker.cpp) = 5b5ed1512adcde18ef86044986f36d0bb87e1666 +SHA1 (patch-src_3rdparty_webkit_Source_JavaScriptCore_jit_JITStubs.cpp) = bfe38ea1e26fef02dd78e40c95c000cb0cc32a04 +SHA1 (patch-src_3rdparty_webkit_Source_JavaScriptCore_wtf_MathExtras.h) = 384bfccabae5e3a4ea6dea39b912a941133c5632 +SHA1 (patch-src_3rdparty_webkit_Source_JavaScriptCore_wtf_Threading.h) = 10bfe59d623db5047e2a4c678ee79a217ea8b7ec SHA1 (patch-src_3rdparty_webkit_Source_WebCore_features.pri) = d0053dd2732604908fcec294b2a833aeb6d93f40 SHA1 (patch-src_3rdparty_webkit_Source_WebCore_platform_DefaultLocalizationStrategy.cpp) = 9e4a68fe02204e5fda7272f988d991992dfd281e SHA1 (patch-src_3rdparty_webkit_Source_WebCore_platform_graphics_MediaPlayer.cpp) = f9a1f71b4607c5f542c059873cf5735fad9ff3a1 diff --git a/x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_heap_MachineStackMarker.cpp b/x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_heap_MachineStackMarker.cpp new file mode 100644 index 00000000000..2476ca05188 --- /dev/null +++ b/x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_heap_MachineStackMarker.cpp @@ -0,0 +1,92 @@ +$NetBSD: patch-src_3rdparty_webkit_Source_JavaScriptCore_heap_MachineStackMarker.cpp,v 1.1 2012/02/16 20:42:46 hans Exp $ + +--- src/3rdparty/webkit/Source/JavaScriptCore/heap/MachineStackMarker.cpp.orig 2011-12-08 06:06:02.000000000 +0100 ++++ src/3rdparty/webkit/Source/JavaScriptCore/heap/MachineStackMarker.cpp 2012-01-15 02:26:20.184685861 +0100 +@@ -20,6 +20,9 @@ + */ + + #include "config.h" ++#if OS(SOLARIS) ++#undef _FILE_OFFSET_BITS ++#endif + #include "MachineStackMarker.h" + + #include "ConservativeRoots.h" +@@ -60,6 +63,10 @@ + #include + + #if OS(SOLARIS) ++#include ++#include ++#include ++#include + #include + #else + #include +@@ -331,6 +338,7 @@ typedef pthread_attr_t PlatformThreadReg + #error Need a thread register struct for this platform + #endif + ++#if !OS(SOLARIS) + static size_t getPlatformThreadRegisters(const PlatformThread& platformThread, PlatformThreadRegisters& regs) + { + #if OS(DARWIN) +@@ -381,6 +389,7 @@ static size_t getPlatformThreadRegisters + #error Need a way to get thread registers on this platform + #endif + } ++#endif + + static inline void* otherThreadStackPointer(const PlatformThreadRegisters& regs) + { +@@ -431,6 +440,7 @@ static inline void* otherThreadStackPoin + #endif + } + ++#if !OS(SOLARIS) + static void freePlatformThreadRegisters(PlatformThreadRegisters& regs) + { + #if USE(PTHREADS) && !OS(WINDOWS) && !OS(DARWIN) +@@ -439,24 +449,40 @@ static void freePlatformThreadRegisters( + UNUSED_PARAM(regs); + #endif + } ++#endif + + void MachineThreads::gatherFromOtherThread(ConservativeRoots& conservativeRoots, Thread* thread) + { + suspendThread(thread->platformThread); + ++#if OS(SOLARIS) ++ struct lwpstatus lwp; ++ char procfile[64]; ++ int fd; ++ snprintf(procfile, 64, "/proc/self/lwp/%u/lwpstatus", thread->platformThread); ++ fd = open(procfile, O_RDONLY, 0); ++ if (fd == -1) { ++ fprintf(stderr, "%s: %s\n", procfile, strerror(errno)); ++ abort(); ++ } ++ pread(fd, &lwp, sizeof(lwp), 0); ++ close(fd); ++ void* stackPointer = (void*)lwp.pr_reg[REG_SP]; ++#else + PlatformThreadRegisters regs; + size_t regSize = getPlatformThreadRegisters(thread->platformThread, regs); + + conservativeRoots.add(static_cast(®s), static_cast(reinterpret_cast(®s) + regSize)); + + void* stackPointer = otherThreadStackPointer(regs); ++ ++ freePlatformThreadRegisters(regs); ++#endif + void* stackBase = thread->stackBase; + swapIfBackwards(stackPointer, stackBase); + conservativeRoots.add(stackPointer, stackBase); + + resumeThread(thread->platformThread); +- +- freePlatformThreadRegisters(regs); + } + + #endif diff --git a/x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_jit_JITStubs.cpp b/x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_jit_JITStubs.cpp index 8733ea1cd05..b68a59cf6c6 100644 --- a/x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_jit_JITStubs.cpp +++ b/x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_jit_JITStubs.cpp @@ -1,4 +1,4 @@ -$NetBSD: patch-src_3rdparty_webkit_Source_JavaScriptCore_jit_JITStubs.cpp,v 1.1 2012/01/16 09:00:27 adam Exp $ +$NetBSD: patch-src_3rdparty_webkit_Source_JavaScriptCore_jit_JITStubs.cpp,v 1.2 2012/02/16 20:42:46 hans Exp $ Fix building on NetBSD/amd64 with GCC. @@ -9,7 +9,7 @@ Fix building on NetBSD/amd64 with GCC. #endif -#if (OS(LINUX) || OS(FREEBSD)) && CPU(X86_64) -+#if (OS(LINUX) || OS(FREEBSD) || OS(NETBSD)) && CPU(X86_64) ++#if (OS(LINUX) || OS(FREEBSD) || OS(NETBSD) || OS(SOLARIS)) && CPU(X86_64) || (OS(SOLARIS) && CPU(X86)) #define SYMBOL_STRING_RELOCATION(name) #name "@plt" #elif OS(DARWIN) || (CPU(X86_64) && COMPILER(MINGW) && !GCC_VERSION_AT_LEAST(4, 5, 0)) #define SYMBOL_STRING_RELOCATION(name) "_" #name diff --git a/x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_wtf_MathExtras.h b/x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_wtf_MathExtras.h new file mode 100644 index 00000000000..d3bded5711e --- /dev/null +++ b/x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_wtf_MathExtras.h @@ -0,0 +1,13 @@ +$NetBSD: patch-src_3rdparty_webkit_Source_JavaScriptCore_wtf_MathExtras.h,v 1.1 2012/02/16 20:42:46 hans Exp $ + +--- src/3rdparty/webkit/Source/JavaScriptCore/wtf/MathExtras.h.orig 2011-12-08 06:06:02.000000000 +0100 ++++ src/3rdparty/webkit/Source/JavaScriptCore/wtf/MathExtras.h 2012-01-15 01:09:37.169459335 +0100 +@@ -248,7 +248,7 @@ inline int clampToInteger(unsigned value + return static_cast(std::min(value, static_cast(std::numeric_limits::max()))); + } + +-#if !COMPILER(MSVC) && !(COMPILER(RVCT) && PLATFORM(BREWMP)) && !OS(SOLARIS) && !OS(SYMBIAN) ++#if !COMPILER(MSVC) && !(COMPILER(RVCT) && PLATFORM(BREWMP)) && !(OS(SOLARIS) && COMPILER(GCC) && (GCC_VERSION < 40600)) && !OS(SYMBIAN) + using std::isfinite; + using std::isinf; + using std::isnan; diff --git a/x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_wtf_Threading.h b/x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_wtf_Threading.h new file mode 100644 index 00000000000..6c452cc49c8 --- /dev/null +++ b/x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_wtf_Threading.h @@ -0,0 +1,13 @@ +$NetBSD: patch-src_3rdparty_webkit_Source_JavaScriptCore_wtf_Threading.h,v 1.1 2012/02/16 20:42:46 hans Exp $ + +--- src/3rdparty/webkit/Source/JavaScriptCore/wtf/Threading.h.orig 2011-12-08 06:06:02.000000000 +0100 ++++ src/3rdparty/webkit/Source/JavaScriptCore/wtf/Threading.h 2012-01-15 02:04:00.160127709 +0100 +@@ -113,6 +113,8 @@ using WTF::createThread; + using WTF::currentThread; + using WTF::detachThread; + using WTF::waitForThreadCompletion; ++#if !OS(SOLARIS) + using WTF::yield; ++#endif + + #endif // Threading_h -- cgit v1.2.3