Hello community, here is the log from the commit of package libqt4 for openSUSE:Factory checked in at 2012-10-05 13:45:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libqt4 (Old) and /work/SRC/openSUSE:Factory/.libqt4.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt4", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/libqt4/libqt4-devel-doc.changes 2012-09-17 13:58:21.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libqt4.new/libqt4-devel-doc.changes 2012-10-06 18:38:29.000000000 +0200 @@ -1,0 +2,23 @@ +Thu Oct 4 09:25:36 UTC 2012 - [email protected] + +- Disable compression by default to mitigate CRIME attack (CVE-2012-4929) + +------------------------------------------------------------------- +Tue Oct 2 23:03:48 UTC 2012 - [email protected] + +- Revert fix-jit-crash commit responsible for kde#305718 + undo-fix-jit-crash-on-x86_64.patch + +------------------------------------------------------------------- +Tue Sep 18 15:04:13 UTC 2012 - [email protected] + +- update to 4.8.3: + * long list of forward and backward compatible + bug fixes. see included changes-4.8.3 for details + +------------------------------------------------------------------- +Wed Aug 22 00:20:20 UTC 2012 - [email protected] + +- Omit qdbusconnection warnings in release/no-debug mode + +------------------------------------------------------------------- libqt4-sql-plugins.changes: same change --- /work/SRC/openSUSE:Factory/libqt4/libqt4.changes 2012-09-17 13:58:21.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libqt4.new/libqt4.changes 2012-10-06 18:38:29.000000000 +0200 @@ -1,0 +2,18 @@ +Thu Oct 4 09:25:36 UTC 2012 - [email protected] + +- Disable compression by default to mitigate CRIME attack (CVE-2012-4929) + +------------------------------------------------------------------- +Tue Oct 2 23:03:48 UTC 2012 - [email protected] + +- Revert fix-jit-crash commit responsible for kde#305718 + undo-fix-jit-crash-on-x86_64.patch + +------------------------------------------------------------------- +Tue Sep 18 15:04:13 UTC 2012 - [email protected] + +- update to 4.8.3: + * long list of forward and backward compatible + bug fixes. see included changes-4.8.3 for details + +------------------------------------------------------------------- Old: ---- qt-everywhere-opensource-src-4.8.1-qdbusconnection_no_debug.patch qt-everywhere-opensource-src-4.8.2.tar.gz New: ---- disable-ssl-compression-by-default.patch qdbusconnection-no-warning-output.patch qt-everywhere-opensource-src-4.8.3.tar.gz undo-fix-jit-crash-on-x86_64.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libqt4-devel-doc.spec ++++++ --- /var/tmp/diff_new_pack.k9Gjss/_old 2012-10-06 18:38:41.000000000 +0200 +++ /var/tmp/diff_new_pack.k9Gjss/_new 2012-10-06 18:38:41.000000000 +0200 @@ -34,7 +34,7 @@ %endif # COMMON-VERSION-BEGIN # COMMON-VERSION-BEGIN -Version: 4.8.2 +Version: 4.8.3 Release: 0 %define base_name libqt4 %define tar_version everywhere-opensource-src-%{version} @@ -94,6 +94,9 @@ Patch131: disable-im-for-password.diff Patch132: CVE-2011-3922.diff Patch136: handle-tga-files-properly.diff +Patch137: qdbusconnection-no-warning-output.patch +Patch138: undo-fix-jit-crash-on-x86_64.patch +Patch139: disable-ssl-compression-by-default.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %define common_options --opensource -fast -no-separate-debug-info -shared -xkb -xrender -xcursor -dbus-linked -xfixes -xrandr -xinerama -sm -no-nas-sound -no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis -system-zlib -prefix /usr -L %_libdir -libdir %_libdir -docdir %_docdir/%{base_name} -examplesdir %_libdir/qt4/examples -demosdir %_libdir/qt4/demos -plugindir %plugindir -translationdir /usr/share/qt4/translations -iconv -sysconfdir /etc/settings -datadir /usr/share/qt4/ -no-pch -reduce-relocations -exceptions -system-libtiff -glib -optimized-qmake -no-webkit -no-xmlpatterns -system-sqlite -qt3support -no-sql-mysql -importdir %plugindir/imports -xsync -xinput -gtkstyle @@ -149,6 +152,9 @@ %patch131 -p1 %patch132 %patch136 +%patch137 +%patch138 -Rp1 +%patch139 -p1 # ### 47 rediff #%patch121 -p1 # be sure not to use them libqt4-sql-plugins.spec: same change ++++++ libqt4.spec ++++++ --- /var/tmp/diff_new_pack.k9Gjss/_old 2012-10-06 18:38:41.000000000 +0200 +++ /var/tmp/diff_new_pack.k9Gjss/_new 2012-10-06 18:38:41.000000000 +0200 @@ -65,7 +65,7 @@ Provides: qt = 4.4.0 Obsoletes: libqt4-dbus-1 < 4.4.0 # COMMON-VERSION-BEGIN -Version: 4.8.2 +Version: 4.8.3 Release: 0 %define base_name libqt4 %define tar_version everywhere-opensource-src-%{version} @@ -110,7 +110,9 @@ Patch131: disable-im-for-password.diff Patch132: CVE-2011-3922.diff Patch136: handle-tga-files-properly.diff -Patch137: qt-everywhere-opensource-src-4.8.1-qdbusconnection_no_debug.patch +Patch137: qdbusconnection-no-warning-output.patch +Patch138: undo-fix-jit-crash-on-x86_64.patch +Patch139: disable-ssl-compression-by-default.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %define common_options --opensource -fast -no-separate-debug-info -shared -xkb -xrender -xcursor -dbus-linked -xfixes -xrandr -xinerama -sm -no-nas-sound -no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis -system-zlib -prefix /usr -L %_libdir -libdir %_libdir -docdir %_docdir/%{base_name} -examplesdir %_libdir/qt4/examples -demosdir %_libdir/qt4/demos -plugindir %plugindir -translationdir /usr/share/qt4/translations -iconv -sysconfdir /etc/settings -datadir /usr/share/qt4/ -no-pch -reduce-relocations -exceptions -system-libtiff -glib -optimized-qmake -no-webkit -no-xmlpatterns -system-sqlite -qt3support -no-sql-mysql -importdir %plugindir/imports -xsync -xinput -gtkstyle @@ -166,7 +168,9 @@ %patch131 -p1 %patch132 %patch136 -%patch137 -p1 +%patch137 +%patch138 -Rp1 +%patch139 -p1 # ### 47 rediff #%patch121 -p1 # be sure not to use them @@ -297,7 +301,7 @@ %package -n libQtWebKit4 Summary: Open source Web Browser engine based on Qt4 -License: BSD-3-Clause ; LGPL-2.0+ +License: BSD-3-Clause and LGPL-2.0+ Group: Development/Libraries/C and C++ Requires: libqt4-x11 = %version Provides: libQtDeclarative4 = 4.6.0 @@ -313,7 +317,7 @@ %package -n libQtWebKit-devel Summary: Open source Web Browser engine based on Qt4 -License: BSD-3-Clause ; LGPL-2.0+ +License: BSD-3-Clause and LGPL-2.0+ Group: Development/Libraries/C and C++ Requires: libQtWebKit4 = %version Requires: libqt4-devel = %version ++++++ disable-ssl-compression-by-default.patch ++++++ commit d41dc3e101a694dec98d7bbb582d428d209e5401 Author: Richard Moore <[email protected]> Date: Fri Sep 14 00:13:08 2012 +0100 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 <[email protected]> Reviewed-by: Peter Hartmann <[email protected]> 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; ++++++ qdbusconnection-no-warning-output.patch ++++++ --- src/dbus/qdbusconnection.cpp +++ src/dbus/qdbusconnection.cpp @@ -1109,8 +1109,10 @@ // make sure this connection is running on the main thread QCoreApplication *instance = QCoreApplication::instance(); if (!instance) { +#ifndef QT_NO_DEBUG qWarning("QDBusConnection: %s D-Bus connection created before QCoreApplication. Application may misbehave.", type == SessionBus ? "session" : type == SystemBus ? "system" : "generic"); +#endif } else if (QDBusConnectionPrivate::d(*this)) { QDBusConnectionPrivate::d(*this)->moveToThread(instance->thread()); } ++++++ qt-everywhere-opensource-src-4.8.2.tar.gz -> qt-everywhere-opensource-src-4.8.3.tar.gz ++++++ /work/SRC/openSUSE:Factory/libqt4/qt-everywhere-opensource-src-4.8.2.tar.gz /work/SRC/openSUSE:Factory/.libqt4.new/qt-everywhere-opensource-src-4.8.3.tar.gz differ: char 5, line 1 ++++++ qt-never-strip.diff ++++++ --- /var/tmp/diff_new_pack.k9Gjss/_old 2012-10-06 18:38:42.000000000 +0200 +++ /var/tmp/diff_new_pack.k9Gjss/_new 2012-10-06 18:38:42.000000000 +0200 @@ -1,8 +1,6 @@ -Index: configure -=================================================================== ---- configure.orig +--- configure +++ configure -@@ -65,7 +65,6 @@ OPT_CMDLINE=`echo $@ | sed "s,-v ,,g; s, +@@ -65,7 +65,6 @@ # initialize global variables QMAKE_SWITCHES= @@ -10,7 +8,7 @@ QMAKE_CONFIG= QTCONFIG_CONFIG= QT_CONFIG= -@@ -1521,7 +1520,7 @@ while [ "$#" -gt 0 ]; do +@@ -1607,7 +1606,7 @@ QMakeVar add QMAKE_CFLAGS -pg QMakeVar add QMAKE_CXXFLAGS -pg QMakeVar add QMAKE_LFLAGS -pg @@ -19,8 +17,8 @@ else UNKNOWN_OPT=yes fi -@@ -3225,6 +3224,8 @@ if [ "$OPT_VERBOSE" = "yes" ]; then - fi +@@ -3338,6 +3337,8 @@ + DEVICE_VARS_FILE="$DEVICE_VARS_OUTFILE" fi +QMakeVar add CONFIG nostrip ++++++ undo-fix-jit-crash-on-x86_64.patch ++++++ Description: Fix JIT crash on x86-64 (avoid 32-bit branch offset overflow) . Cherry-picked from webkit commit a5b3261a8c4386b4e14ce40a34c7fc933a5f7001 Origin: commit ada98493bbfbd9af0d0b593017e29d39bcd3495e Author: Kent Hansen <[email protected]> Forwarded: not-needed Applied-Upstream: yes Reviewed-by: Simon Hausmann <[email protected]> Reviewed-by: Kent Hansen <[email protected]> --- .../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 <[email protected]> + + 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 <[email protected]> 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.10.4 -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
