rebase no_sse2.patch

This commit is contained in:
Rex Dieter 2015-07-16 08:50:28 -05:00
parent d00384f6bd
commit fcd1990689
3 changed files with 40 additions and 43 deletions

View File

@ -26,7 +26,7 @@ Source0: http://download.qt.io/official_releases/qt/5.5/%{version}%{?prerelease:
# support no_sse2 CONFIG (fedora i686 builds cannot assume -march=pentium4 -msse2 -mfpmath=sse flags, or the JIT that needs them)
# https://codereview.qt-project.org/#change,73710
Patch1: qtdeclarative-opensource-src-5.4.1-no_sse2.patch
Patch1: qtdeclarative-opensource-src-5.5.0-no_sse2.patch
Obsoletes: qt5-qtjsbackend < 5.2.0

View File

@ -1,42 +0,0 @@
diff --git a/src/qml/jsruntime/jsruntime.pri b/src/qml/jsruntime/jsruntime.pri
index c27aaa9..05c86e8 100644
--- a/src/qml/jsruntime/jsruntime.pri
+++ b/src/qml/jsruntime/jsruntime.pri
@@ -105,6 +105,11 @@ SOURCES += \
$$PWD/qv4string.cpp \
$$PWD/qv4value.cpp
+linux-g++*:isEqual(QT_ARCH,i386):!no_sse2 {
+ QMAKE_CFLAGS += -msse2 -mfpmath=sse
+ QMAKE_CXXFLAGS += -msse2 -mfpmath=sse
+}
+
valgrind {
DEFINES += V4_USE_VALGRIND
}
diff --git a/src/qml/jsruntime/qv4global_p.h b/src/qml/jsruntime/qv4global_p.h
index 1208f0f..31b9c38 100644
--- a/src/qml/jsruntime/qv4global_p.h
+++ b/src/qml/jsruntime/qv4global_p.h
@@ -69,7 +69,7 @@ inline double trunc(double d) { return d > 0 ? floor(d) : ceil(d); }
//
// NOTE: This should match the logic in qv4targetplatform_p.h!
-#if defined(Q_PROCESSOR_X86) && !defined(__ILP32__) \
+#if defined(Q_PROCESSOR_X86) && !defined(__ILP32__) && defined(__SSE2__) \
&& (defined(Q_OS_WIN) || defined(Q_OS_LINUX) || defined(Q_OS_QNX) || defined(Q_OS_FREEBSD))
#define V4_ENABLE_JIT
#elif defined(Q_PROCESSOR_X86_64) && !defined(__ILP32__) \
diff --git a/src/qml/qml/v8/qv8engine.cpp b/src/qml/qml/v8/qv8engine.cpp
index 39b816f..7aedf9e 100644
--- a/src/qml/qml/v8/qv8engine.cpp
+++ b/src/qml/qml/v8/qv8engine.cpp
@@ -121,7 +121,7 @@ QV8Engine::QV8Engine(QJSEngine* qq)
, m_xmlHttpRequestData(0)
, m_listModelData(0)
{
-#ifdef Q_PROCESSOR_X86_32
+#if defined(Q_PROCESSOR_X86_32) && defined(__SSE2__)
if (!qCpuHasFeature(SSE2)) {
qFatal("This program requires an X86 processor that supports SSE2 extension, at least a Pentium 4 or newer");
}

View File

@ -0,0 +1,39 @@
diff -up qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/jsruntime.pri.no_sse2 qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/jsruntime.pri
--- qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/jsruntime.pri.no_sse2 2015-06-29 15:12:38.000000000 -0500
+++ qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/jsruntime.pri 2015-07-16 08:49:00.280760307 -0500
@@ -111,6 +111,11 @@ SOURCES += \
$$PWD/qv4string.cpp \
$$PWD/qv4value.cpp
+linux-g++*:isEqual(QT_ARCH,i386):!no_sse2 {
+ QMAKE_CFLAGS += -msse2 -mfpmath=sse
+ QMAKE_CXXFLAGS += -msse2 -mfpmath=sse
+}
+
valgrind {
DEFINES += V4_USE_VALGRIND
}
diff -up qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/qv4global_p.h.no_sse2 qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/qv4global_p.h
--- qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/qv4global_p.h.no_sse2 2015-06-29 15:12:38.000000000 -0500
+++ qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/qv4global_p.h 2015-07-16 08:49:00.280760307 -0500
@@ -74,7 +74,7 @@ inline double trunc(double d) { return d
//
// NOTE: This should match the logic in qv4targetplatform_p.h!
-#if defined(Q_PROCESSOR_X86) && !defined(__ILP32__) \
+#if defined(Q_PROCESSOR_X86) && !defined(__ILP32__) && defined(__SSE2__) \
&& (defined(Q_OS_WIN) || defined(Q_OS_LINUX) || defined(Q_OS_QNX) || defined(Q_OS_FREEBSD))
#define V4_ENABLE_JIT
#elif defined(Q_PROCESSOR_X86_64) && !defined(__ILP32__) \
diff -up qtdeclarative-opensource-src-5.5.0/src/qml/qml/v8/qv8engine.cpp.no_sse2 qtdeclarative-opensource-src-5.5.0/src/qml/qml/v8/qv8engine.cpp
--- qtdeclarative-opensource-src-5.5.0/src/qml/qml/v8/qv8engine.cpp.no_sse2 2015-06-29 15:12:39.000000000 -0500
+++ qtdeclarative-opensource-src-5.5.0/src/qml/qml/v8/qv8engine.cpp 2015-07-16 08:49:00.280760307 -0500
@@ -123,7 +123,7 @@ QV8Engine::QV8Engine(QJSEngine* qq)
, m_xmlHttpRequestData(0)
, m_listModelData(0)
{
-#ifdef Q_PROCESSOR_X86_32
+#if defined(Q_PROCESSOR_X86_32) && defined(__SSE2__)
if (!qCpuHasFeature(SSE2)) {
qFatal("This program requires an X86 processor that supports SSE2 extension, at least a Pentium 4 or newer");
}