mcst-linux-kernel/patches-2024.06.26/qt5-5.15.2/0001-e2k_lcc_configs_and_sp...

432 lines
19 KiB
Diff

diff -Naur old/qtbase/configure.json new/qtbase/configure.json
--- old/qtbase/configure.json 2021-04-20 18:50:50.285267584 +0300
+++ new/qtbase/configure.json 2021-04-20 19:14:35.897974276 +0300
@@ -1057,7 +1057,7 @@
},
"sse2": {
"label": "SSE2",
- "condition": "(arch.i386 || arch.x86_64) && tests.sse2",
+ "condition": "(arch.i386 || arch.x86_64 || arch.e2k) && tests.sse2",
"output": [
"privateConfig",
"privateFeature",
@@ -1227,7 +1227,7 @@
},
"x86SimdAlways": {
"label": "Intrinsics without -mXXX option",
- "condition": "(arch.i386 || arch.x86_64) && tests.x86SimdAlways",
+ "condition": "(arch.i386 || arch.x86_64 || arch.e2k) && tests.x86SimdAlways",
"output": [
"privateConfig",
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SIMD_ALWAYS", "value": 1 }
@@ -1580,13 +1580,13 @@
"message": "SSE",
"type": "featureList",
"args": "sse2 sse3 ssse3 sse4_1 sse4_2",
- "condition": "(arch.i386 || arch.x86_64)"
+ "condition": "(arch.i386 || arch.x86_64 || arch.e2k)"
},
{
"message": "AVX",
"type": "featureList",
"args": "avx avx2",
- "condition": "(arch.i386 || arch.x86_64)"
+ "condition": "(arch.i386 || arch.x86_64 || arch.e2k)"
},
{
"message": "AVX512",
@@ -1598,12 +1598,12 @@
"message": "Other x86",
"type": "featureList",
"args": "aesni f16c rdrnd shani",
- "condition": "(arch.i386 || arch.x86_64)"
+ "condition": "(arch.i386 || arch.x86_64 || arch.e2k)"
},
{
"type": "feature",
"args": "x86SimdAlways",
- "condition": "(arch.i386 || arch.x86_64) && !config.msvc"
+ "condition": "(arch.i386 || arch.x86_64 || arch.e2k) && !config.msvc"
},
{
"type": "feature",
diff -Naur old/qtbase/mkspecs/features/qt_common.prf new/qtbase/mkspecs/features/qt_common.prf
--- old/qtbase/mkspecs/features/qt_common.prf 2021-04-20 18:50:49.005241844 +0300
+++ new/qtbase/mkspecs/features/qt_common.prf 2021-04-20 19:14:35.925974841 +0300
@@ -100,7 +100,7 @@
-Werror=unguarded-availability-new \
-Werror=unsupported-availability-guard
}
-} else: gcc:!intel_icc {
+} else: !lcc:gcc:!intel_icc {
QMAKE_CXXFLAGS_WARN_ON += -Wvla
# GCC 5 fixed -Wmissing-field-initializers for when there are no initializers
lessThan(QT_GCC_MAJOR_VERSION, 5): QMAKE_CXXFLAGS_WARN_ON += -Wno-missing-field-initializers
@@ -151,6 +151,8 @@
# Work-around for bug https://code.google.com/p/android/issues/detail?id=58135
android: QMAKE_CXXFLAGS_WARN_ON += -Wno-error=literal-suffix
+ # agressive unused-variables and inline-noinline conflict
+ lcc: QMAKE_CXXFLAGS_WARN_ON += -Wno-error=unused-variable -Wno-error=unused-function -Wno-error=unused-parameter -Wno-error=unused-value -Wno-inline-noinline-conflict -Wno-error=sign-compare -Wno-error=invalid-offsetof -Wno-error=signed-one-bit-field -Wno-error=maybe-uninitialized -Wno-error=overloaded-virtual -Wno-error=type-limits -Wno-error=jump-misses-init -Wno-error=array-bounds -Wno-error=shadow=global -Wno-error=shift-count-overflow -Wno-error=unused-result -Wno-error=reduced-alignment -Wno-error=assign-where-compare-meant -Wno-error=attributes
}
} else:msvc:!intel_icl {
# enable for MSVC 2015, MSVC 2017
--- old/qtbase/mkspecs/features/qt_module_headers.prf 2021-04-20 18:50:48.997241683 +0300
+++ new/qtbase/mkspecs/features/qt_module_headers.prf 2021-05-14 12:57:56.485919181 +0300
@@ -254,6 +254,9 @@
hcleanFLAGS += -Wzero-as-null-pointer-constant
}
}
+ lcc: {
+ hcleanFLAGS += -Wno-error=deprecated-declarations
+ }
}
# Use strict mode C++11 or C++98, with no GNU extensions (see -pedantic-errors above).
diff -Naur old/qtbase/mkspecs/features/toolchain.prf new/qtbase/mkspecs/features/toolchain.prf
--- old/qtbase/mkspecs/features/toolchain.prf 2021-04-20 18:50:49.001241763 +0300
+++ new/qtbase/mkspecs/features/toolchain.prf 2021-04-20 19:14:35.925974841 +0300
@@ -258,7 +258,7 @@
}
}
}
- if(!darwin:clang)|intel_icc {
+ if(!darwin:clang)|intel_icc|lcc {
# Clang on a non-Apple system (that is, a system without ld64 -- say, with GNU ld
# or gold under Linux) will not print any library search path. Need to use another
# invocation with different options (which in turn doesn't print include search
diff -Naur old/qtbase/mkspecs/lcc-base/qmake.conf new/qtbase/mkspecs/lcc-base/qmake.conf
--- old/qtbase/mkspecs/lcc-base/qmake.conf 1970-01-01 03:00:00.000000000 +0300
+++ new/qtbase/mkspecs/lcc-base/qmake.conf 2021-04-20 19:14:35.925974841 +0300
@@ -0,0 +1,80 @@
+MAKEFILE_GENERATOR = UNIX
+CONFIG += incremental
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/linux.conf)
+
+QMAKE_COMPILER = gcc lcc
+QMAKE_CFLAGS_PIC = -fPIC
+QMAKE_CFLAGS_OPTIMIZE = -O2
+QMAKE_CFLAGS_OPTIMIZE_FULL = -O3
+QMAKE_CFLAGS += -pipe -DQT_NO_VERSION_TAGGING -DDONT_NEED_IA32_BUILTINS_WARNINGS
+QMAKE_CFLAGS_DEPS += -M
+QMAKE_CFLAGS_WARN_ON += -Wall -W
+QMAKE_CFLAGS_WARN_OFF += -w
+QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE_FULL
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O0 -g
+QMAKE_CFLAGS_DEBUG += -g
+QMAKE_CFLAGS_SHLIB += $$QMAKE_CFLAGS_PIC
+QMAKE_CFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_PIC
+QMAKE_CFLAGS_APP += $$QMAKE_CFLAGS_PIC
+QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
+QMAKE_CFLAGS_EXCEPTIONS_OFF += -fno-exceptions
+QMAKE_CFLAGS_SPLIT_SECTIONS += -ffunction-sections
+
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
+QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_APP += $$QMAKE_CFLAGS_APP
+QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+QMAKE_CXXFLAGS_EXCEPTIONS_OFF += $$QMAKE_CFLAGS_EXCEPTIONS_OFF
+QMAKE_CXXFLAGS_SPLIT_SECTIONS += $$QMAKE_CFLAGS_SPLIT_SECTIONS
+
+QMAKE_LFLAGS +=
+QMAKE_LFLAGS_DEBUG +=
+QMAKE_LFLAGS_APP +=
+QMAKE_LFLAGS_RELEASE +=
+QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO +=
+QMAKE_LFLAGS_EXCEPTIONS_OFF +=
+QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
+
+QMAKE_CFLAGS_SSE2 += -msse2
+QMAKE_CFLAGS_SSE3 += -msse3
+QMAKE_CFLAGS_SSSE3 += -mssse3
+QMAKE_CFLAGS_SSE4_1 += -msse4.1
+QMAKE_CFLAGS_SSE4_2 += -msse4.2
+QMAKE_CFLAGS_AVX += -mavx
+QMAKE_CFLAGS_AVX2 += -mavx2
+QMAKE_CFLAGS_F16C += -mf16c
+
+QMAKE_LFLAGS_SHLIB += -shared
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME += -Wl,-soname,
+QMAKE_LFLAGS_THREAD +=
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATHLINK = -Wl,-rpath-link,
+QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
+QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
+QMAKE_LFLAGS_VERSION_SCRIPT = -Wl,--version-script,
+
+QMAKE_CFLAGS_GNU99 = -std=gnu99
+QMAKE_CFLAGS_GNUC11 = -std=gnu11
+QMAKE_CXXFLAGS_CXX11 = -std=c++11
+QMAKE_CXXFLAGS_CXX14 = -std=c++1y
+QMAKE_CXXFLAGS_CXX1Z = -std=c++1z
+QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++11
+QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++1y
+QMAKE_CXXFLAGS_GNUCXX1Z = -std=gnu++1z
+QMAKE_LFLAGS_CXX11 =
+QMAKE_LFLAGS_CXX14 =
+QMAKE_LFLAGS_CXX1Z =
+
+load(qt_config)
diff -Naur old/qtbase/mkspecs/lcc-base/qplatformdefs.h new/qtbase/mkspecs/lcc-base/qplatformdefs.h
--- old/qtbase/mkspecs/lcc-base/qplatformdefs.h 1970-01-01 03:00:00.000000000 +0300
+++ new/qtbase/mkspecs/lcc-base/qplatformdefs.h 2021-04-20 19:14:35.925974841 +0300
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../linux-g++/qplatformdefs.h"
diff -Naur old/qtbase/mkspecs/linux-g++-native/qmake.conf new/qtbase/mkspecs/linux-g++-native/qmake.conf
--- old/qtbase/mkspecs/linux-g++-native/qmake.conf 1970-01-01 03:00:00.000000000 +0300
+++ new/qtbase/mkspecs/linux-g++-native/qmake.conf 2021-04-20 19:14:35.925974841 +0300
@@ -0,0 +1,12 @@
+#
+# qmake configuration for linux-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+CONFIG += incremental
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/linux.conf)
+include(../common/gcc-base-unix.conf)
+include(../common/g++-unix.conf)
+load(qt_config)
diff -Naur old/qtbase/mkspecs/linux-g++-native/qplatformdefs.h new/qtbase/mkspecs/linux-g++-native/qplatformdefs.h
--- old/qtbase/mkspecs/linux-g++-native/qplatformdefs.h 1970-01-01 03:00:00.000000000 +0300
+++ new/qtbase/mkspecs/linux-g++-native/qplatformdefs.h 2021-04-20 19:14:35.925974841 +0300
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+// 1) need to reset default environment if _BSD_SOURCE is defined
+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
+// 3) it seems older glibc need this to include the X/Open stuff
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+#include <features.h>
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+
+#if defined(__GLIBC__) && (__GLIBC__ < 2)
+#define QT_SOCKLEN_T int
+#else
+#define QT_SOCKLEN_T socklen_t
+#endif
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
diff -Naur old/qtbase/mkspecs/linux-lcc-native/qmake.conf new/qtbase/mkspecs/linux-lcc-native/qmake.conf
--- old/qtbase/mkspecs/linux-lcc-native/qmake.conf 1970-01-01 03:00:00.000000000 +0300
+++ new/qtbase/mkspecs/linux-lcc-native/qmake.conf 2021-04-20 19:14:35.925974841 +0300
@@ -0,0 +1,15 @@
+include(../lcc-base/qmake.conf)
+
+QMAKE_CC = gcc
+QMAKE_CXX = g++
+QMAKE_LINK_C = $$QMAKE_CC
+QMAKE_LINK_SHLIB = $$QMAKE_CXX
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_LINK_CXX = $$QMAKE_CXX
+QMAKE_LINK_SHLIB = $$QMAKE_CXX
+QMAKE_AR = ar cqs
+QMAKE_RANLIB = ranlib
+QMAKE_NM = nm
+QMAKE_AS = as
+QMAKE_STRIP = strip
+QMAKE_OBJDUMP = objdump
diff -Naur old/qtbase/mkspecs/linux-lcc-native/qplatformdefs.h new/qtbase/mkspecs/linux-lcc-native/qplatformdefs.h
--- old/qtbase/mkspecs/linux-lcc-native/qplatformdefs.h 1970-01-01 03:00:00.000000000 +0300
+++ new/qtbase/mkspecs/linux-lcc-native/qplatformdefs.h 2021-04-20 19:14:35.925974841 +0300
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../linux-g++/qplatformdefs.h"
diff -Naur old/qtbase/tests/auto/auto.pro new/qtbase/tests/auto/auto.pro
--- old/qtbase/tests/auto/auto.pro 2021-04-20 18:50:00.716270781 +0300
+++ new/qtbase/tests/auto/auto.pro 2021-04-20 19:14:35.925974841 +0300
@@ -34,7 +34,7 @@
!qtHaveModule(sql): SUBDIRS -= sql
# Disable the QtDBus tests if we can't connect to the session bus
-!cross_compile:qtHaveModule(dbus) {
+!cross_skip:!cross_compile:qtHaveModule(dbus) {
!system("dbus-send --session --type=signal / local.AutotestCheck.Hello >$$QMAKE_SYSTEM_NULL_DEVICE 2>&1") {
qtConfig(dbus-linked): {
warning("QtDBus is enabled but session bus is not available. QtDBus tests will fail.")
diff -Naur old/qtlocation/src/location/configure.json new/qtlocation/src/location/configure.json
--- old/qtlocation/src/location/configure.json 2021-04-20 18:38:58.674954962 +0300
+++ new/qtlocation/src/location/configure.json 2021-04-20 19:14:35.925974841 +0300
@@ -44,7 +44,7 @@
"features.gui",
"features.opengl",
"features.c++14",
- "!config.intel_icc && (!config.win32 || config.mingw)"
+ "!config.intel_icc && !config.lcc && (!config.win32 || config.mingw)"
],
"output": [ "privateFeature" ]
},