aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2020-10-26 22:13:10 -0700
committerMartin Jansa <Martin.Jansa@gmail.com>2020-11-03 17:01:57 +0100
commitf60771c37c2940734a04674bcf91dcb64711fc12 (patch)
tree32edb43eb51946b3ea1aef460f1617a201fcde76
parent8d5672cc6ca327576a814d35dfb5d59ab24043cb (diff)
qtbase: Fix build on 32-bit arches with 64bit time_t only
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--recipes-qt/qt5/nativesdk-qtbase_git.bb1
-rw-r--r--recipes-qt/qt5/qtbase-native_git.bb1
-rw-r--r--recipes-qt/qt5/qtbase/0019-Define-__NR_futex-if-it-does-not-exist.patch36
-rw-r--r--recipes-qt/qt5/qtbase_git.bb1
4 files changed, 39 insertions, 0 deletions
diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb
index f8d6c7e2..ff989c2f 100644
--- a/recipes-qt/qt5/nativesdk-qtbase_git.bb
+++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb
@@ -43,6 +43,7 @@ SRC_URI += "\
file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
file://0017-input-Make-use-of-timeval-portable-for-64bit-time_t.patch \
file://0018-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \
+ file://0019-Define-__NR_futex-if-it-does-not-exist.patch \
"
# common for qtbase-native and nativesdk-qtbase
diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb
index 44160963..7ed63851 100644
--- a/recipes-qt/qt5/qtbase-native_git.bb
+++ b/recipes-qt/qt5/qtbase-native_git.bb
@@ -38,6 +38,7 @@ SRC_URI += "\
file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
file://0017-input-Make-use-of-timeval-portable-for-64bit-time_t.patch \
file://0018-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \
+ file://0019-Define-__NR_futex-if-it-does-not-exist.patch \
"
# common for qtbase-native and nativesdk-qtbase
diff --git a/recipes-qt/qt5/qtbase/0019-Define-__NR_futex-if-it-does-not-exist.patch b/recipes-qt/qt5/qtbase/0019-Define-__NR_futex-if-it-does-not-exist.patch
new file mode 100644
index 00000000..2accb08e
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0019-Define-__NR_futex-if-it-does-not-exist.patch
@@ -0,0 +1,36 @@
+From bf314645e665d82c65771fb0d5f58558bbe1ba87 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 26 Oct 2020 22:10:02 -0700
+Subject: [PATCH] Define __NR_futex if it does not exist
+
+__NR_futex is not defines by newer architectures e.g. arc, riscv32 as
+they only have 64bit variant of time_t. Glibc defines SYS_futex interface based on
+__NR_futex, since this is used in applications, such applications start
+to fail to build for these newer architectures. This patch defines a
+fallback to alias __NR_futex to __NR_futex_tim64 so SYS_futex keeps
+working
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/corelib/thread/qfutex_p.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/corelib/thread/qfutex_p.h b/src/corelib/thread/qfutex_p.h
+index f287b752d7..fa5307a604 100644
+--- a/src/corelib/thread/qfutex_p.h
++++ b/src/corelib/thread/qfutex_p.h
+@@ -76,6 +76,9 @@ QT_END_NAMESPACE
+ # include <unistd.h>
+ # include <asm/unistd.h>
+ # include <linux/futex.h>
++# if !defined(__NR_futex) && defined(__NR_futex_time64)
++# define __NR_futex __NR_futex_time64
++# endif
+ # define QT_ALWAYS_USE_FUTEX
+
+ // if not defined in linux/futex.h
+--
+2.29.1
+
diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb
index 129c4084..a2e87651 100644
--- a/recipes-qt/qt5/qtbase_git.bb
+++ b/recipes-qt/qt5/qtbase_git.bb
@@ -34,6 +34,7 @@ SRC_URI += "\
file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
file://0017-input-Make-use-of-timeval-portable-for-64bit-time_t.patch \
file://0018-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \
+ file://0019-Define-__NR_futex-if-it-does-not-exist.patch \
"
# for syncqt