Compare commits

...

7 Commits

Author SHA1 Message Date
David Abdurachmanov 5eb019155a
Merge remote-tracking branch 'up/master' into master-riscv64
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
2020-04-16 13:08:23 +03:00
David Abdurachmanov 4facfab57b
Merge remote-tracking branch 'up/master' into master-riscv64
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
2020-04-09 11:03:19 +03:00
David Abdurachmanov 43539d20dc
Merge remote-tracking branch 'up/master' into master-riscv64
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
2020-03-29 15:15:48 +03:00
David Abdurachmanov 9e89f6999c
Replace -lpthread with -pthread
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
2019-08-13 15:34:58 -07:00
David Abdurachmanov 979a3fd88d
Merge remote-tracking branch 'up/master' into master-riscv64
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
2019-08-13 15:27:13 -07:00
David Abdurachmanov 85abe445d3 Merge remote-tracking branch 'up/master' into master-riscv64 2018-06-21 06:25:09 +02:00
David Abdurachmanov 55886a9a78
Add support for RISC-V (riscv64)
Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
2018-06-20 10:30:11 +02:00
3 changed files with 240 additions and 1 deletions

View File

@ -53,7 +53,7 @@ BuildRequires: pkgconfig(libsystemd)
Name: qt5-qtbase
Summary: Qt5 - QtBase components
Version: 5.14.2
Release: 4%{?dist}
Release: 4.0.riscv64%{?dist}
# See LGPL_EXCEPTIONS.txt, for exception details
License: LGPLv2 with exceptions or GPLv3 with exceptions
@ -131,6 +131,10 @@ Patch80: qtbase-use-wayland-on-gnome.patch
Patch100: qt5-qtbase-CVE-2015-9541.patch
Patch144: 0044-QLibrary-fix-deadlock-caused-by-fix-to-QTBUG-39642.patch
# RISC-V: must use -pthread to link libatomic
Patch300: qtbase-everywhere-src-5.12.4-pthread.patch
# Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires.
# Those themes are there for platform integration. If the required libraries are
# not there, the platform to integrate with isn't either. Then Qt will just
@ -404,6 +408,11 @@ Qt5 libraries used for drawing widgets and OpenGL items.
%patch100 -p1 -b .CVE-2015-9541
%patch144 -p1 -b .0044
# riscv
%ifarch riscv64
%patch300 -p1
%endif
# move some bundled libs to ensure they're not accidentally used
pushd src/3rdparty
mkdir UNUSED
@ -1048,6 +1057,9 @@ fi
%changelog
* Thu Apr 16 2020 David Abdurachmanov <david.abdurachmanov@sifive.com> - 5.14.2-4.0.riscv64
- Replace -lpthread with -pthread
* Tue Apr 14 2020 Rex Dieter <rdieter@fedoraproject.org> - 5.14.2-4
- backport "Mutex deadlock in QPluginLoader, Krita fails to start" (QTBUG-83207)

View File

@ -0,0 +1,213 @@
diff --git a/mkspecs/aix-g++-64/qmake.conf b/mkspecs/aix-g++-64/qmake.conf
index 7f620a95..21267325 100644
--- a/mkspecs/aix-g++-64/qmake.conf
+++ b/mkspecs/aix-g++-64/qmake.conf
@@ -62,7 +62,7 @@ QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = -lXext -lX11 -lm
QMAKE_LIBS_OPENGL = -lGL
-QMAKE_LIBS_THREAD = -lpthreads
+QMAKE_LIBS_THREAD = -pthreads
QMAKE_AR = ar -X64 cq
QMAKE_OBJCOPY = objcopy
diff --git a/mkspecs/aix-g++/qmake.conf b/mkspecs/aix-g++/qmake.conf
index d2f26a1b..2183bf37 100644
--- a/mkspecs/aix-g++/qmake.conf
+++ b/mkspecs/aix-g++/qmake.conf
@@ -62,7 +62,7 @@ QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = -lXext -lX11 -lm
QMAKE_LIBS_OPENGL = -lGL
-QMAKE_LIBS_THREAD = -lpthreads
+QMAKE_LIBS_THREAD = -pthreads
QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy
diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf
index 544cc227..add969be 100644
--- a/mkspecs/common/linux.conf
+++ b/mkspecs/common/linux.conf
@@ -33,7 +33,7 @@ QMAKE_LIBS_EGL = -lEGL
QMAKE_LIBS_OPENGL = -lGL
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
QMAKE_LIBS_OPENVG = -lOpenVG
-QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_THREAD = -pthread
QMAKE_LIBS_VULKAN =
QMAKE_INCDIR_WAYLAND =
diff --git a/mkspecs/common/solaris.conf b/mkspecs/common/solaris.conf
index 024b75a9..6f718239 100644
--- a/mkspecs/common/solaris.conf
+++ b/mkspecs/common/solaris.conf
@@ -20,7 +20,7 @@ QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = -lXext -lX11 -lresolv -lsocket -lnsl
QMAKE_LIBS_OPENGL = -lGL
-QMAKE_LIBS_THREAD = -lpthread -lrt
+QMAKE_LIBS_THREAD = -pthread -lrt
QMAKE_LIBS_NETWORK = -lresolv -lsocket -lxnet -lnsl
QMAKE_AR = ar cq
diff --git a/mkspecs/cygwin-g++/qmake.conf b/mkspecs/cygwin-g++/qmake.conf
index a4f64d9c..d594774f 100644
--- a/mkspecs/cygwin-g++/qmake.conf
+++ b/mkspecs/cygwin-g++/qmake.conf
@@ -61,7 +61,7 @@ QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = -lXext -lX11
QMAKE_LIBS_OPENGL = -lGL
-QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_THREAD = -pthread
QMAKE_PREFIX_SHLIB = lib
QMAKE_EXTENSION_SHLIB = dll
QMAKE_PREFIX_STATICLIB = lib
diff --git a/mkspecs/devices/linux-archos-gen8-g++/qmake.conf b/mkspecs/devices/linux-archos-gen8-g++/qmake.conf
index 66662f90..a93e4f98 100644
--- a/mkspecs/devices/linux-archos-gen8-g++/qmake.conf
+++ b/mkspecs/devices/linux-archos-gen8-g++/qmake.conf
@@ -41,7 +41,7 @@ QMAKE_CFLAGS += $${COMPILER_FLAGS}
QMAKE_CXXFLAGS += $${COMPILER_FLAGS}
QMAKE_CXXFLAGS_RELEASE += -O3
-QMAKE_LIBS += -lrt -lpthread -ldl
+QMAKE_LIBS += -lrt -pthread -ldl
# Extra stuff (OpenGL, DirectFB, ...)
QMAKE_INCDIR_EGL = $$[QT_SYSROOT]/usr/include
diff --git a/mkspecs/devices/linux-beagleboard-g++/qmake.conf b/mkspecs/devices/linux-beagleboard-g++/qmake.conf
index 604da50f..9dbf82c7 100644
--- a/mkspecs/devices/linux-beagleboard-g++/qmake.conf
+++ b/mkspecs/devices/linux-beagleboard-g++/qmake.conf
@@ -33,7 +33,7 @@ QMAKE_CFLAGS += $${COMPILER_FLAGS}
QMAKE_CXXFLAGS += $${COMPILER_FLAGS}
QMAKE_CXXFLAGS_RELEASE += -O3
-QMAKE_LIBS += -lrt -lpthread -ldl
+QMAKE_LIBS += -lrt -pthread -ldl
# Extra stuff (OpenGL, DirectFB, ...)
QMAKE_INCDIR_EGL =
diff --git a/mkspecs/hpuxi-g++-64/qmake.conf b/mkspecs/hpuxi-g++-64/qmake.conf
index 4c376de7..0a3ec98c 100644
--- a/mkspecs/hpuxi-g++-64/qmake.conf
+++ b/mkspecs/hpuxi-g++-64/qmake.conf
@@ -62,7 +62,7 @@ QMAKE_LFLAGS_DEBUG =
QMAKE_LFLAGS_SHLIB = -fPIC -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,+h,
-QMAKE_LFLAGS_THREAD = -lpthread
+QMAKE_LFLAGS_THREAD = -pthread
QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
QMAKE_LFLAGS_RPATH = -Wl,+b,
@@ -70,7 +70,7 @@ QMAKE_LIBS = -lm
QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = -lXext -lX11
QMAKE_LIBS_OPENGL = -lGL
-QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_THREAD = -pthread
QMAKE_LIBS_YACC = -ly
QMAKE_AR = ar cqs
diff --git a/mkspecs/hurd-g++/qmake.conf b/mkspecs/hurd-g++/qmake.conf
index f701755f..ba40b0b5 100644
--- a/mkspecs/hurd-g++/qmake.conf
+++ b/mkspecs/hurd-g++/qmake.conf
@@ -33,7 +33,7 @@ QMAKE_LIBS_EGL = -lEGL
QMAKE_LIBS_OPENGL = -lGL
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
QMAKE_LIBS_OPENVG = -lOpenVG
-QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_THREAD = -pthread
QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy
diff --git a/mkspecs/linux-icc/qmake.conf b/mkspecs/linux-icc/qmake.conf
index 75a601b1..4822398f 100644
--- a/mkspecs/linux-icc/qmake.conf
+++ b/mkspecs/linux-icc/qmake.conf
@@ -39,7 +39,7 @@ QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = -lXext -lX11 -lm
QMAKE_LIBS_OPENGL = -lGL
-QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_THREAD = -pthread
QMAKE_AR = xiar cqs
QMAKE_OBJCOPY = objcopy
diff --git a/mkspecs/lynxos-g++/qmake.conf b/mkspecs/lynxos-g++/qmake.conf
index 1a44d932..8b2de6c9 100644
--- a/mkspecs/lynxos-g++/qmake.conf
+++ b/mkspecs/lynxos-g++/qmake.conf
@@ -65,7 +65,7 @@ QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = -lXext -lX11 -lm
QMAKE_LIBS_OPENGL = -lGL
-QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_THREAD = -pthread
QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy
diff --git a/mkspecs/solaris-cc-64/qmake.conf b/mkspecs/solaris-cc-64/qmake.conf
index e2317de3..f6cc9aa4 100644
--- a/mkspecs/solaris-cc-64/qmake.conf
+++ b/mkspecs/solaris-cc-64/qmake.conf
@@ -81,7 +81,7 @@ QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = -lXext -lX11 -lresolv -lsocket -lnsl
QMAKE_LIBS_OPENGL = -lGL
-QMAKE_LIBS_THREAD = -lpthread -lrt
+QMAKE_LIBS_THREAD = -pthread -lrt
QMAKE_LIBS_NETWORK = -lresolv -lsocket -lxnet -lnsl
QMAKE_AR = CC -xar -o
diff --git a/mkspecs/solaris-cc/qmake.conf b/mkspecs/solaris-cc/qmake.conf
index 1a711e75..af1a142c 100644
--- a/mkspecs/solaris-cc/qmake.conf
+++ b/mkspecs/solaris-cc/qmake.conf
@@ -64,7 +64,7 @@ QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = -lXext -lX11 -lresolv -lsocket -lnsl
QMAKE_LIBS_OPENGL = -lGL
-QMAKE_LIBS_THREAD = -lpthread -lrt
+QMAKE_LIBS_THREAD = -pthread -lrt
QMAKE_LIBS_NETWORK = -lresolv -lsocket -lxnet -lnsl
QMAKE_AR = CC -xar -o
diff --git a/mkspecs/unsupported/linux-host-g++/qmake.conf b/mkspecs/unsupported/linux-host-g++/qmake.conf
index 7853ade8..b73763d1 100644
--- a/mkspecs/unsupported/linux-host-g++/qmake.conf
+++ b/mkspecs/unsupported/linux-host-g++/qmake.conf
@@ -102,7 +102,7 @@ QMAKE_LIBS_EGL = -lEGL
QMAKE_LIBS_OPENGL = -lGL
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
QMAKE_LIBS_OPENVG = -lOpenVG
-QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_THREAD = -pthread
QMAKE_AR = host-ar cqs
QMAKE_OBJCOPY = host-objcopy
diff --git a/src/corelib/configure.json b/src/corelib/configure.json
index 5f5a00a6..ddf37a04 100644
--- a/src/corelib/configure.json
+++ b/src/corelib/configure.json
@@ -309,7 +309,7 @@
"std::future<int> f = std::async([]() { return 42; });",
"(void)f.get();"
],
- "qmake": "unix:LIBS += -lpthread"
+ "qmake": "unix:LIBS += -pthread"
}
},
"cxx11_random": {
@@ -419,7 +419,7 @@
"shm_open(\"test\", O_RDWR | O_CREAT | O_EXCL, 0666);",
"shm_unlink(\"test\");"
],
- "qmake": "linux: LIBS += -lpthread -lrt"
+ "qmake": "linux: LIBS += -pthread -lrt"
}
},
"linkat": {

View File

@ -0,0 +1,14 @@
diff --git a/src/3rdparty/double-conversion/include/double-conversion/utils.h b/src/3rdparty/double-conversion/include/double-conversion/utils.h
index 20bfd36..fe6cb4c 100644
--- a/src/3rdparty/double-conversion/include/double-conversion/utils.h
+++ b/src/3rdparty/double-conversion/include/double-conversion/utils.h
@@ -65,7 +65,8 @@
defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
defined(__SH4__) || defined(__alpha__) || \
defined(_MIPS_ARCH_MIPS32R2) || \
- defined(__AARCH64EL__)
+ defined(__AARCH64EL__) || \
+ defined(__riscv)
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
#elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
#if defined(_WIN32)