4.8.4
This commit is contained in:
parent
8e4c02d46d
commit
9a85ff74dd
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,4 +1,4 @@
|
||||
/hi128-app-qt4-logo.png
|
||||
/hi48-app-qt4-logo.png
|
||||
/qt-everywhere-opensource-src-4.8.2.tar.gz
|
||||
/qt-everywhere-opensource-src-4.8.3.tar.gz
|
||||
/qt-everywhere-opensource-src-4.8.4.tar.gz
|
||||
|
@ -1,68 +0,0 @@
|
||||
From d41dc3e101a694dec98d7bbb582d428d209e5401 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Moore <rich@kde.org>
|
||||
Date: Fri, 14 Sep 2012 00:13:08 +0100
|
||||
Subject: [PATCH 41/54] Disable SSL compression by default.
|
||||
|
||||
Disable SSL compression by default since this appears to be the a likely
|
||||
cause of the currently hyped CRIME attack.
|
||||
|
||||
This is a backport of 5ea896fbc63593f424a7dfbb11387599c0025c74
|
||||
|
||||
Change-Id: I6eeefb23c6b140a9633b28ed85879459c474348a
|
||||
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
||||
Reviewed-by: Peter Hartmann <phartmann@rim.com>
|
||||
---
|
||||
src/network/ssl/qssl.cpp | 5 +++--
|
||||
src/network/ssl/qsslconfiguration.cpp | 4 +++-
|
||||
src/network/ssl/qsslconfiguration_p.h | 4 +++-
|
||||
3 files changed, 9 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/network/ssl/qssl.cpp b/src/network/ssl/qssl.cpp
|
||||
index 49e086f..9578178 100644
|
||||
--- a/src/network/ssl/qssl.cpp
|
||||
+++ b/src/network/ssl/qssl.cpp
|
||||
@@ -148,8 +148,9 @@ QT_BEGIN_NAMESPACE
|
||||
|
||||
By default, SslOptionDisableEmptyFragments is turned on since this causes
|
||||
problems with a large number of servers. SslOptionDisableLegacyRenegotiation
|
||||
- is also turned on, since it introduces a security risk. The other options
|
||||
- are turned off.
|
||||
+ is also turned on, since it introduces a security risk.
|
||||
+ SslOptionDisableCompression is turned on to prevent the attack publicised by
|
||||
+ CRIME. The other options are turned off.
|
||||
|
||||
Note: Availability of above options depends on the version of the SSL
|
||||
backend in use.
|
||||
diff --git a/src/network/ssl/qsslconfiguration.cpp b/src/network/ssl/qsslconfiguration.cpp
|
||||
index 24c7b77..3a05f54 100644
|
||||
--- a/src/network/ssl/qsslconfiguration.cpp
|
||||
+++ b/src/network/ssl/qsslconfiguration.cpp
|
||||
@@ -201,7 +201,9 @@ bool QSslConfiguration::isNull() const
|
||||
d->privateKey.isNull() &&
|
||||
d->peerCertificate.isNull() &&
|
||||
d->peerCertificateChain.count() == 0 &&
|
||||
- d->sslOptions == (QSsl::SslOptionDisableEmptyFragments|QSsl::SslOptionDisableLegacyRenegotiation));
|
||||
+ d->sslOptions == ( QSsl::SslOptionDisableEmptyFragments
|
||||
+ |QSsl::SslOptionDisableLegacyRenegotiation
|
||||
+ |QSsl::SslOptionDisableCompression));
|
||||
}
|
||||
|
||||
/*!
|
||||
diff --git a/src/network/ssl/qsslconfiguration_p.h b/src/network/ssl/qsslconfiguration_p.h
|
||||
index 74f17cd..c36b651 100644
|
||||
--- a/src/network/ssl/qsslconfiguration_p.h
|
||||
+++ b/src/network/ssl/qsslconfiguration_p.h
|
||||
@@ -83,7 +83,9 @@ public:
|
||||
: protocol(QSsl::SecureProtocols),
|
||||
peerVerifyMode(QSslSocket::AutoVerifyPeer),
|
||||
peerVerifyDepth(0),
|
||||
- sslOptions(QSsl::SslOptionDisableEmptyFragments|QSsl::SslOptionDisableLegacyRenegotiation)
|
||||
+ sslOptions(QSsl::SslOptionDisableEmptyFragments
|
||||
+ |QSsl::SslOptionDisableLegacyRenegotiation
|
||||
+ |QSsl::SslOptionDisableCompression)
|
||||
{ }
|
||||
|
||||
QSslCertificate peerCertificate;
|
||||
--
|
||||
1.7.12
|
||||
|
@ -1,284 +0,0 @@
|
||||
From ada98493bbfbd9af0d0b593017e29d39bcd3495e Mon Sep 17 00:00:00 2001
|
||||
From: Kent Hansen <kent.hansen@nokia.com>
|
||||
Date: Thu, 8 Jul 2010 17:26:50 +0000
|
||||
Subject: [PATCH] Fix JIT crash on x86-64 (avoid 32-bit branch offset
|
||||
overflow)
|
||||
|
||||
Cherry-picked from webkit commit
|
||||
a5b3261a8c4386b4e14ce40a34c7fc933a5f7001
|
||||
|
||||
Task-number: QTBUG-23871
|
||||
Change-Id: Ia028fe072b349e3a7883ae0f6f7298941cc1bc9e
|
||||
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
|
||||
(cherry picked from commit 79ebd39d0d4846cb911ae122d2059e5add568d7e in qtscript)
|
||||
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
|
||||
---
|
||||
.../javascriptcore/JavaScriptCore/ChangeLog | 27 +++++++++++++++++++
|
||||
.../JavaScriptCore/JavaScriptCore.pri | 1 +
|
||||
.../JavaScriptCore/jit/ExecutableAllocator.cpp | 21 +++++++++++++++
|
||||
.../jit/ExecutableAllocatorFixedVMPool.cpp | 31 +++++++++++++++-------
|
||||
.../jit/ExecutableAllocatorPosix.cpp | 29 ++------------------
|
||||
.../jit/ExecutableAllocatorSymbian.cpp | 2 +-
|
||||
.../JavaScriptCore/jit/ExecutableAllocatorWin.cpp | 2 +-
|
||||
.../javascriptcore/JavaScriptCore/wtf/Platform.h | 10 +++++++
|
||||
8 files changed, 84 insertions(+), 39 deletions(-)
|
||||
|
||||
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog b/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog
|
||||
index 9cbf0c1..5ab23e6 100644
|
||||
--- a/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog
|
||||
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog
|
||||
@@ -1,3 +1,30 @@
|
||||
+2010-07-08 Gavin Barraclough <barraclough@apple.com>
|
||||
+
|
||||
+ Reviewed by Sam Weinig.
|
||||
+
|
||||
+ https://bugs.webkit.org/show_bug.cgi?id=41641
|
||||
+
|
||||
+ Update compile flags to allow use of ExecutableAllocatorFixedVMPool on platforms
|
||||
+ other than x86-64 (this may be useful on 32-bit platforms, too).
|
||||
+
|
||||
+ Simplify ifdefs by dividing into thwo broad allocation strategies
|
||||
+ (ENABLE_EXECUTABLE_ALLOCATOR_FIXED & ENABLE_EXECUTABLE_ALLOCATOR_DEMAND).
|
||||
+
|
||||
+ Rename constant used in the code to have names descriptive of their purpose,
|
||||
+ rather than their specific value on a given platform.
|
||||
+
|
||||
+ * jit/ExecutableAllocator.cpp:
|
||||
+ (JSC::ExecutableAllocator::reprotectRegion):
|
||||
+ (JSC::ExecutableAllocator::cacheFlush):
|
||||
+ * jit/ExecutableAllocatorFixedVMPool.cpp:
|
||||
+ (JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
|
||||
+ (JSC::FixedVMPoolAllocator::free):
|
||||
+ (JSC::ExecutablePool::systemAlloc):
|
||||
+ * jit/ExecutableAllocatorPosix.cpp:
|
||||
+ * jit/ExecutableAllocatorSymbian.cpp:
|
||||
+ * jit/ExecutableAllocatorWin.cpp:
|
||||
+ * wtf/Platform.h:
|
||||
+
|
||||
2010-08-24 Oliver Hunt <oliver@apple.com>
|
||||
|
||||
Reviewed by Geoff Garen.
|
||||
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
|
||||
index b061321..847f69c 100644
|
||||
--- a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
|
||||
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
|
||||
@@ -100,6 +100,7 @@ SOURCES += \
|
||||
interpreter/CallFrame.cpp \
|
||||
interpreter/Interpreter.cpp \
|
||||
interpreter/RegisterFile.cpp \
|
||||
+ jit/ExecutableAllocatorFixedVMPool.cpp \
|
||||
jit/ExecutableAllocatorPosix.cpp \
|
||||
jit/ExecutableAllocatorSymbian.cpp \
|
||||
jit/ExecutableAllocatorWin.cpp \
|
||||
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.cpp
|
||||
index f6b27ec..f0ebbab 100644
|
||||
--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.cpp
|
||||
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.cpp
|
||||
@@ -33,6 +33,27 @@ namespace JSC {
|
||||
|
||||
size_t ExecutableAllocator::pageSize = 0;
|
||||
|
||||
+#if ENABLE(ASSEMBLER_WX_EXCLUSIVE)
|
||||
+void ExecutableAllocator::reprotectRegion(void* start, size_t size, ProtectionSeting setting)
|
||||
+{
|
||||
+ if (!pageSize)
|
||||
+ intializePageSize();
|
||||
+
|
||||
+ // Calculate the start of the page containing this region,
|
||||
+ // and account for this extra memory within size.
|
||||
+ intptr_t startPtr = reinterpret_cast<intptr_t>(start);
|
||||
+ intptr_t pageStartPtr = startPtr & ~(pageSize - 1);
|
||||
+ void* pageStart = reinterpret_cast<void*>(pageStartPtr);
|
||||
+ size += (startPtr - pageStartPtr);
|
||||
+
|
||||
+ // Round size up
|
||||
+ size += (pageSize - 1);
|
||||
+ size &= ~(pageSize - 1);
|
||||
+
|
||||
+ mprotect(pageStart, size, (setting == Writable) ? PROTECTION_FLAGS_RW : PROTECTION_FLAGS_RX);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
}
|
||||
|
||||
#endif // HAVE(ASSEMBLER)
|
||||
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp
|
||||
index dd1db4e..16d0fb1 100644
|
||||
--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp
|
||||
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp
|
||||
@@ -27,25 +27,33 @@
|
||||
|
||||
#include "ExecutableAllocator.h"
|
||||
|
||||
-#include <errno.h>
|
||||
+#if ENABLE(EXECUTABLE_ALLOCATOR_FIXED)
|
||||
|
||||
-#if ENABLE(ASSEMBLER) && OS(DARWIN) && CPU(X86_64)
|
||||
+#include <errno.h>
|
||||
|
||||
#include "TCSpinLock.h"
|
||||
-#include <mach/mach_init.h>
|
||||
-#include <mach/vm_map.h>
|
||||
#include <sys/mman.h>
|
||||
#include <unistd.h>
|
||||
#include <wtf/AVLTree.h>
|
||||
#include <wtf/VMTags.h>
|
||||
|
||||
+#if CPU(X86_64)
|
||||
+ // These limits suitable on 64-bit platforms (particularly x86-64, where we require all jumps to have a 2Gb max range).
|
||||
+ #define VM_POOL_SIZE (2u * 1024u * 1024u * 1024u) // 2Gb
|
||||
+ #define COALESCE_LIMIT (16u * 1024u * 1024u) // 16Mb
|
||||
+#else
|
||||
+ // These limits are hopefully sensible on embedded platforms.
|
||||
+ #define VM_POOL_SIZE (32u * 1024u * 1024u) // 32Mb
|
||||
+ #define COALESCE_LIMIT (4u * 1024u * 1024u) // 4Mb
|
||||
+#endif
|
||||
+
|
||||
+// ASLR currently only works on darwin (due to arc4random) & 64-bit (due to address space size).
|
||||
+#define VM_POOL_ASLR (OS(DARWIN) && CPU(X86_64))
|
||||
+
|
||||
using namespace WTF;
|
||||
|
||||
namespace JSC {
|
||||
|
||||
-#define TWO_GB (2u * 1024u * 1024u * 1024u)
|
||||
-#define SIXTEEN_MB (16u * 1024u * 1024u)
|
||||
-
|
||||
// FreeListEntry describes a free chunk of memory, stored in the freeList.
|
||||
struct FreeListEntry {
|
||||
FreeListEntry(void* pointer, size_t size)
|
||||
@@ -291,9 +299,12 @@ public:
|
||||
// for now instead of 2^26 bits of ASLR lets stick with 25 bits of randomization plus
|
||||
// 2^24, which should put up somewhere in the middle of usespace (in the address range
|
||||
// 0x200000000000 .. 0x5fffffffffff).
|
||||
- intptr_t randomLocation = arc4random() & ((1 << 25) - 1);
|
||||
+ intptr_t randomLocation = 0;
|
||||
+#if VM_POOL_ASLR
|
||||
+ randomLocation = arc4random() & ((1 << 25) - 1);
|
||||
randomLocation += (1 << 24);
|
||||
randomLocation <<= 21;
|
||||
+#endif
|
||||
m_base = mmap(reinterpret_cast<void*>(randomLocation), m_totalHeapSize, INITIAL_PROTECTION_FLAGS, MAP_PRIVATE | MAP_ANON, VM_TAG_FOR_EXECUTABLEALLOCATOR_MEMORY, 0);
|
||||
if (!m_base)
|
||||
CRASH();
|
||||
@@ -387,7 +398,7 @@ public:
|
||||
// 16MB of allocations have been freed, sweep m_freeList
|
||||
// coalescing any neighboring fragments.
|
||||
m_countFreedSinceLastCoalesce += size;
|
||||
- if (m_countFreedSinceLastCoalesce >= SIXTEEN_MB) {
|
||||
+ if (m_countFreedSinceLastCoalesce >= COALESCE_LIMIT) {
|
||||
m_countFreedSinceLastCoalesce = 0;
|
||||
coalesceFreeSpace();
|
||||
}
|
||||
@@ -429,7 +440,7 @@ ExecutablePool::Allocation ExecutablePool::systemAlloc(size_t size)
|
||||
SpinLockHolder lock_holder(&spinlock);
|
||||
|
||||
if (!allocator)
|
||||
- allocator = new FixedVMPoolAllocator(JIT_ALLOCATOR_LARGE_ALLOC_SIZE, TWO_GB);
|
||||
+ allocator = new FixedVMPoolAllocator(JIT_ALLOCATOR_LARGE_ALLOC_SIZE, VM_POOL_SIZE);
|
||||
ExecutablePool::Allocation alloc = {reinterpret_cast<char*>(allocator->alloc(size)), size};
|
||||
return alloc;
|
||||
}
|
||||
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorPosix.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorPosix.cpp
|
||||
index 2eb0c87..b04049c 100644
|
||||
--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorPosix.cpp
|
||||
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorPosix.cpp
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#include "ExecutableAllocator.h"
|
||||
|
||||
-#if ENABLE(ASSEMBLER) && OS(UNIX) && !OS(SYMBIAN)
|
||||
+#if ENABLE(EXECUTABLE_ALLOCATOR_DEMAND) && !OS(WINDOWS) && !OS(SYMBIAN)
|
||||
|
||||
#include <sys/mman.h>
|
||||
#include <unistd.h>
|
||||
@@ -35,8 +35,6 @@
|
||||
|
||||
namespace JSC {
|
||||
|
||||
-#if !(OS(DARWIN) && !PLATFORM(QT) && CPU(X86_64))
|
||||
-
|
||||
void ExecutableAllocator::intializePageSize()
|
||||
{
|
||||
ExecutableAllocator::pageSize = getpagesize();
|
||||
@@ -57,29 +55,6 @@ void ExecutablePool::systemRelease(const ExecutablePool::Allocation& alloc)
|
||||
ASSERT_UNUSED(result, !result);
|
||||
}
|
||||
|
||||
-#endif // !(OS(DARWIN) && !PLATFORM(QT) && CPU(X86_64))
|
||||
-
|
||||
-#if ENABLE(ASSEMBLER_WX_EXCLUSIVE)
|
||||
-void ExecutableAllocator::reprotectRegion(void* start, size_t size, ProtectionSeting setting)
|
||||
-{
|
||||
- if (!pageSize)
|
||||
- intializePageSize();
|
||||
-
|
||||
- // Calculate the start of the page containing this region,
|
||||
- // and account for this extra memory within size.
|
||||
- intptr_t startPtr = reinterpret_cast<intptr_t>(start);
|
||||
- intptr_t pageStartPtr = startPtr & ~(pageSize - 1);
|
||||
- void* pageStart = reinterpret_cast<void*>(pageStartPtr);
|
||||
- size += (startPtr - pageStartPtr);
|
||||
-
|
||||
- // Round size up
|
||||
- size += (pageSize - 1);
|
||||
- size &= ~(pageSize - 1);
|
||||
-
|
||||
- mprotect(pageStart, size, (setting == Writable) ? PROTECTION_FLAGS_RW : PROTECTION_FLAGS_RX);
|
||||
-}
|
||||
-#endif
|
||||
-
|
||||
}
|
||||
|
||||
-#endif // HAVE(ASSEMBLER)
|
||||
+#endif
|
||||
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorSymbian.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorSymbian.cpp
|
||||
index e82975c..9028f50 100644
|
||||
--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorSymbian.cpp
|
||||
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorSymbian.cpp
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
#include "ExecutableAllocator.h"
|
||||
|
||||
-#if ENABLE(ASSEMBLER) && OS(SYMBIAN)
|
||||
+#if ENABLE(EXECUTABLE_ALLOCATOR_DEMAND) && OS(SYMBIAN)
|
||||
|
||||
#include <e32hal.h>
|
||||
#include <e32std.h>
|
||||
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorWin.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorWin.cpp
|
||||
index e38323c..72a1d5f 100644
|
||||
--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorWin.cpp
|
||||
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorWin.cpp
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#include "ExecutableAllocator.h"
|
||||
|
||||
-#if ENABLE(ASSEMBLER) && OS(WINDOWS)
|
||||
+#if ENABLE(EXECUTABLE_ALLOCATOR_DEMAND) && OS(WINDOWS)
|
||||
|
||||
#include "windows.h"
|
||||
|
||||
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
|
||||
index 700977e..d930ed7 100644
|
||||
--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
|
||||
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
|
||||
@@ -1016,6 +1016,16 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */
|
||||
#define ENABLE_ASSEMBLER_WX_EXCLUSIVE 0
|
||||
#endif
|
||||
|
||||
+/* Pick which allocator to use; we only need an executable allocator if the assembler is compiled in.
|
||||
+ On x86-64 we use a single fixed mmap, on other platforms we mmap on demand. */
|
||||
+#if ENABLE(ASSEMBLER)
|
||||
+#if CPU(X86_64)
|
||||
+#define ENABLE_EXECUTABLE_ALLOCATOR_FIXED 1
|
||||
+#else
|
||||
+#define ENABLE_EXECUTABLE_ALLOCATOR_DEMAND 1
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#if !defined(ENABLE_PAN_SCROLLING) && OS(WINDOWS)
|
||||
#define ENABLE_PAN_SCROLLING 1
|
||||
#endif
|
||||
--
|
||||
1.7.11.4
|
||||
|
@ -1,11 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.0/src/gui/painting/qpdf.cpp.QTBUG-14724 qt-everywhere-opensource-src-4.8.0/src/gui/painting/qpdf.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.0/src/gui/painting/qpdf.cpp.QTBUG-14724 2011-10-03 22:44:31.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.0/src/gui/painting/qpdf.cpp 2011-10-17 10:55:49.713265396 -0500
|
||||
@@ -1686,6 +1686,7 @@ bool QPdfBaseEnginePrivate::openPrintDev
|
||||
cupsTempFile = ret.second;
|
||||
outDevice = new QFile();
|
||||
static_cast<QFile *>(outDevice)->open(ret.first, QIODevice::WriteOnly);
|
||||
+ fd = ret.first;
|
||||
#endif
|
||||
#ifndef QT_NO_LPR
|
||||
} else {
|
@ -1,14 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.3/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp.QTBUG-27322 qt-everywhere-opensource-src-4.8.3/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.3/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp.QTBUG-27322 2012-10-24 09:52:55.183430410 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.3/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp 2012-10-24 09:53:49.996758727 -0500
|
||||
@@ -305,8 +305,8 @@ public:
|
||||
randomLocation += (1 << 24);
|
||||
randomLocation <<= 21;
|
||||
#endif
|
||||
- m_base = mmap(reinterpret_cast<void*>(randomLocation), m_totalHeapSize, INITIAL_PROTECTION_FLAGS, MAP_PRIVATE | MAP_ANON, VM_TAG_FOR_EXECUTABLEALLOCATOR_MEMORY, 0);
|
||||
- if (!m_base)
|
||||
+ m_base = mmap(reinterpret_cast<void*>(randomLocation), m_totalHeapSize, INITIAL_PROTECTION_FLAGS, MAP_PRIVATE | MAP_ANON | MAP_NORESERVE, VM_TAG_FOR_EXECUTABLEALLOCATOR_MEMORY, 0);
|
||||
+ if (m_base == MAP_FAILED)
|
||||
CRASH();
|
||||
|
||||
// For simplicity, we keep all memory in m_freeList in a 'released' state.
|
@ -1,11 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.3/mkspecs/features/device_config.prf.qmake_fix qt-everywhere-opensource-src-4.8.3/mkspecs/features/device_config.prf
|
||||
--- qt-everywhere-opensource-src-4.8.3/mkspecs/features/device_config.prf.qmake_fix 2012-09-10 20:36:35.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.3/mkspecs/features/device_config.prf 2012-09-28 09:06:48.732819678 -0500
|
||||
@@ -1,6 +1,6 @@
|
||||
# Load generated qdevice.pri
|
||||
isEmpty(QT_BUILD_TREE): QT_BUILD_TREE = $$fromfile($$_QMAKE_CACHE_, QT_BUILD_TREE)
|
||||
-isEmpty(QT_BUILD_TREE): QT_BUILD_TREE = . # where to get?
|
||||
+isEmpty(QT_BUILD_TREE): QT_BUILD_TREE = $$[QT_INSTALL_DATA]
|
||||
|
||||
DEVICE_PRI = $$QT_BUILD_TREE/mkspecs/qdevice.pri
|
||||
|
29
qt.spec
29
qt.spec
@ -15,8 +15,8 @@
|
||||
Summary: Qt toolkit
|
||||
Name: qt
|
||||
Epoch: 1
|
||||
Version: 4.8.3
|
||||
Release: 8%{?dist}
|
||||
Version: 4.8.4
|
||||
Release: 1%{?dist}
|
||||
|
||||
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
|
||||
License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT
|
||||
@ -88,9 +88,6 @@ Patch68: qt-everywhere-opensource-src-4.8.3-no_Werror.patch
|
||||
# revert qlist.h commit that seems to induce crashes in qDeleteAll<QList (QTBUG-22037)
|
||||
Patch69: qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch
|
||||
|
||||
# Qt doesn't close orphaned file descriptors after printing (#746601, QTBUG-14724)
|
||||
Patch70: qt-everywhere-opensource-src-4.8.0-QTBUG-14724.patch
|
||||
|
||||
# Buttons in Qt applications not clickable when run under gnome-shell (#742658, QTBUG-21900)
|
||||
Patch71: qt-everywhere-opensource-src-4.8.0-QTBUG-21900.patch
|
||||
|
||||
@ -122,23 +119,10 @@ Patch83: qt-4.8-poll.patch
|
||||
# upstream patches
|
||||
# http://codereview.qt-project.org/#change,22006
|
||||
Patch100: qt-everywhere-opensource-src-4.8.1-qtgahandle.patch
|
||||
# find qdevice.pri even for installed qt builds
|
||||
# https://codereview.qt-project.org/#change,34507
|
||||
Patch101: qt-everywhere-opensource-src-4.8.3-qdevice_pri.patch
|
||||
# fix JIT crash
|
||||
# https://bugreports.qt-project.org/browse/QTBUG-23871
|
||||
# https://bugs.kde.org/show_bug.cgi?id=297661
|
||||
# REVERT for now, http://bugzilla.redhat.com/853587, https://bugreports.qt-project.org/browse/QTBUG-27322
|
||||
Patch103: qt-Fix-JIT-crash-on-x86-64-avoid-32-bit-branch-offset-o.patch
|
||||
# followup for fix JIT crash
|
||||
# https://bugreports.qt-project.org/browse/QTBUG-27322
|
||||
Patch104: qt-everywhere-opensource-src-4.8.3-QTBUG-27322.patch
|
||||
|
||||
# security patches
|
||||
# CVE-2011-3922 qt: Stack-based buffer overflow in embedded harfbuzz code
|
||||
Patch200: qt-4.8.0-CVE-2011-3922-bz#772125.patch
|
||||
# disable compression for SSL/TLS to avoid CRIME
|
||||
Patch201: 0041-Disable-SSL-compression-by-default.patch
|
||||
|
||||
# desktop files
|
||||
Source20: assistant.desktop
|
||||
@ -461,7 +445,6 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags
|
||||
%patch67 -p1 -b .s390
|
||||
%patch68 -p1 -b .no_Werror
|
||||
%patch69 -p1 -b .QTBUG-22037
|
||||
%patch70 -p1 -b .QTBUG-14724
|
||||
%patch71 -p1 -b .QTBUG-21900
|
||||
%patch74 -p1 -b .tds_no_strict_aliasing
|
||||
%patch76 -p1 -b .s390-atomic
|
||||
@ -473,14 +456,9 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags
|
||||
|
||||
# upstream patches
|
||||
%patch100 -p1 -b .QTgaHandler
|
||||
%patch101 -p1 -b .qdevice_pri
|
||||
## 4.8.3 includes this patch, revert it to avoid regressions for now -- rex
|
||||
#patch103 -p1 -R -b .QtScript_JIT
|
||||
%patch104 -p1 -b .QTBUG-27322
|
||||
|
||||
# security fixes
|
||||
%patch200 -p1 -b .CVE-2011-3922
|
||||
%patch201 -p1 -b .Disable-SSL-compression
|
||||
|
||||
# drop -fexceptions from $RPM_OPT_FLAGS
|
||||
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
|
||||
@ -1113,6 +1091,9 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Nov 29 2012 Rex Dieter <rdieter@fedoraproject.org> 1:4.8.4-1
|
||||
- 4.8.4
|
||||
|
||||
* Wed Oct 31 2012 Than Ngo <than@redhat.com> - 1:4.8.3-8
|
||||
- add poll support to fix QAbstractSocket errors with more than
|
||||
1024 file descriptors, thanks Florian for the patch
|
||||
|
Loading…
Reference in New Issue
Block a user