summaryrefslogtreecommitdiff
path: root/x11/qt4-libs
diff options
context:
space:
mode:
authorhans <hans>2012-02-16 20:42:46 +0000
committerhans <hans>2012-02-16 20:42:46 +0000
commita9454cbcfd7adaef588acad70b98f3da29524407 (patch)
treefe894b8cb48ef637f511074404708cbf4decf1ad /x11/qt4-libs
parent4acb79cc7dd9eccd60becafa98262e153d97b27c (diff)
downloadpkgsrc-a9454cbcfd7adaef588acad70b98f3da29524407.tar.gz
Make this build again on SunOS.
The change to src/3rdparty/webkit/Source/JavaScriptCore/heap/MachineStackMarker.cpp is untested.
Diffstat (limited to 'x11/qt4-libs')
-rw-r--r--x11/qt4-libs/distinfo7
-rw-r--r--x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_heap_MachineStackMarker.cpp92
-rw-r--r--x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_jit_JITStubs.cpp4
-rw-r--r--x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_wtf_MathExtras.h13
-rw-r--r--x11/qt4-libs/patches/patch-src_3rdparty_webkit_Source_JavaScriptCore_wtf_Threading.h13
5 files changed, 125 insertions, 4 deletions
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 <unistd.h>
+
+ #if OS(SOLARIS)
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <fcntl.h>
++#include <procfs.h>
+ #include <thread.h>
+ #else
+ #include <pthread.h>
+@@ -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<void*>(&regs), static_cast<void*>(reinterpret_cast<char*>(&regs) + 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<int>(std::min(value, static_cast<unsigned>(std::numeric_limits<int>::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