commit:     5d91e3b73346a76fd065865bc70c4b63808e8ee3
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 22 14:42:53 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Feb 22 15:12:56 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d91e3b7

dev-qt/qtbase: fix build with x32 abi

Closes: https://bugs.gentoo.org/925103
Thanks-to: Andrii Batyiev
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-qt/qtbase/files/qtbase-6.6.2-x32abi.patch | 13 +++++++++++++
 dev-qt/qtbase/qtbase-6.6.2.ebuild             |  1 +
 dev-qt/qtbase/qtbase-6.6.9999.ebuild          |  1 +
 dev-qt/qtbase/qtbase-6.7.9999.ebuild          |  1 +
 dev-qt/qtbase/qtbase-6.9999.ebuild            |  1 +
 5 files changed, 17 insertions(+)

diff --git a/dev-qt/qtbase/files/qtbase-6.6.2-x32abi.patch 
b/dev-qt/qtbase/files/qtbase-6.6.2-x32abi.patch
new file mode 100644
index 000000000000..1204dcc5c25c
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.6.2-x32abi.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/925103
+--- a/src/corelib/thread/qthread.h
++++ b/src/corelib/thread/qthread.h
+@@ -166,5 +166,9 @@
+ #elif defined(Q_PROCESSOR_X86_64) && ((defined(Q_OS_LINUX) && 
defined(__GLIBC__)) || defined(Q_OS_FREEBSD))
+     // x86_64 Linux, BSD uses FS
++# if defined(__ILP32__)
++    __asm__("mov %%fs:%c1, %0" : "=r" (tid) : "i" (2 * sizeof(void*)) : );
++# else
+     __asm__("movq %%fs:%c1, %0" : "=r" (tid) : "i" (2 * sizeof(void*)) : );
++# endif
+ #elif defined(Q_PROCESSOR_X86_64) && defined(Q_OS_WIN)
+     // See https://en.wikipedia.org/wiki/Win32_Thread_Information_Block

diff --git a/dev-qt/qtbase/qtbase-6.6.2.ebuild 
b/dev-qt/qtbase/qtbase-6.6.2.ebuild
index fe273bc5f7c9..14520bcdd35c 100644
--- a/dev-qt/qtbase/qtbase-6.6.2.ebuild
+++ b/dev-qt/qtbase/qtbase-6.6.2.ebuild
@@ -137,6 +137,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-6.5.2-no-glx.patch
        "${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch
        "${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
+       "${FILESDIR}"/${PN}-6.6.2-x32abi.patch
 )
 
 src_prepare() {

diff --git a/dev-qt/qtbase/qtbase-6.6.9999.ebuild 
b/dev-qt/qtbase/qtbase-6.6.9999.ebuild
index d7b14a3f1a66..a39a20691815 100644
--- a/dev-qt/qtbase/qtbase-6.6.9999.ebuild
+++ b/dev-qt/qtbase/qtbase-6.6.9999.ebuild
@@ -137,6 +137,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-6.5.2-no-glx.patch
        "${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch
        "${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
+       "${FILESDIR}"/${PN}-6.6.2-x32abi.patch
 )
 
 src_prepare() {

diff --git a/dev-qt/qtbase/qtbase-6.7.9999.ebuild 
b/dev-qt/qtbase/qtbase-6.7.9999.ebuild
index e2aa70f1ea9b..c2827c3f3ac9 100644
--- a/dev-qt/qtbase/qtbase-6.7.9999.ebuild
+++ b/dev-qt/qtbase/qtbase-6.7.9999.ebuild
@@ -138,6 +138,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-6.5.2-hppa-forkfd-grow-stack.patch
        "${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch
        "${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
+       "${FILESDIR}"/${PN}-6.6.2-x32abi.patch
 )
 
 src_prepare() {

diff --git a/dev-qt/qtbase/qtbase-6.9999.ebuild 
b/dev-qt/qtbase/qtbase-6.9999.ebuild
index e2aa70f1ea9b..c2827c3f3ac9 100644
--- a/dev-qt/qtbase/qtbase-6.9999.ebuild
+++ b/dev-qt/qtbase/qtbase-6.9999.ebuild
@@ -138,6 +138,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-6.5.2-hppa-forkfd-grow-stack.patch
        "${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch
        "${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
+       "${FILESDIR}"/${PN}-6.6.2-x32abi.patch
 )
 
 src_prepare() {

Reply via email to