qt5: update to 5.13.0

qt5: update ppc64(le) support + add big endian
This commit is contained in:
John 2019-05-23 08:49:40 +02:00 committed by John Zimmermann
parent 3a26342852
commit bebf09a3b3
50 changed files with 7814 additions and 3082 deletions

View file

@ -1850,10 +1850,13 @@ libQt5Quick.so.5 qt5-declarative-5.6.0_1
libQt5QuickTest.so.5 qt5-declarative-5.6.0_1
libQt5QuickWidgets.so.5 qt5-declarative-5.6.0_1
libQt5QuickParticles.so.5 qt5-declarative-5.6.0_1
libQt5QuickShapes.so.5 qt5-declarative-5.12.1_1
libQt5QuickControls2.so.5 qt5-quickcontrols2-5.7.1_1
libQt5QuickTemplates2.so.5 qt5-quickcontrols2-5.7.1_1
libQt5Positioning.so.5 qt5-location-5.6.0_1
libQt5Location.so.5 qt5-location-5.6.0_1
libQt5PositioningQuick.so.5 qt5-location-5.12.1_1
libQt5VirtualKeyboard.so.5 qt5-virtualkeyboard-5.12.1_1
libQt5Multimedia.so.5 qt5-multimedia-5.6.0_1
libQt5MultimediaGstTools.so.5 qt5-multimedia-5.10.1_1
libQt5MultimediaQuick.so.5 qt5-multimedia-5.10.1_1

1
srcpkgs/qt5-lottie-devel Symbolic link
View file

@ -0,0 +1 @@
qt5

View file

@ -0,0 +1,10 @@
--- qtdeclarative/tools/tools.pro 2019-04-09 01:01:07.000000000 +0200
+++ - 2019-04-21 00:24:16.192966345 +0200
@@ -7,7 +7,6 @@
qmlmin \
qmlimportscanner
- qtConfig(commandlineparser):qtConfig(xmlstreamwriter): SUBDIRS += qmlcachegen
}
qtConfig(thread):!android|android_app:!wasm {

View file

@ -5,9 +5,7 @@ SUBDIRS += \
assistant \
qhelpgenerator \
qcollectiongenerator \
qhelpconverter
assistant.depends = help
qhelpgenerator.depends = help
qcollectiongenerator.depends = help
qhelpconverter.depends = help

View file

@ -1,10 +1,16 @@
QT = core qml network core-private
DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII
SOURCES += main.cpp
HEADERS += \
../shared/projectdescriptionreader.h \
../shared/runqttool.h
SOURCES += \
../shared/projectdescriptionreader.cpp \
../shared/runqttool.cpp \
main.cpp
include(../shared/formats.pri)
include(../shared/proparser.pri)
qmake.name = QMAKE
qmake.value = $$shell_path($$QMAKE_QMAKE)

View file

@ -3,13 +3,14 @@ QT = core qml network core-private qmldevtools-private
DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
include(../shared/formats.pri)
include(../shared/proparser.pri)
DEFINES += PROEVALUATOR_DEBUG
SOURCES += \
main.cpp \
merge.cpp \
../shared/projectdescriptionreader.cpp \
../shared/runqttool.cpp \
../shared/qrcreader.cpp \
../shared/simtexth.cpp \
\
cpp.cpp \
@ -20,6 +21,9 @@ SOURCES += qdeclarative.cpp
HEADERS += \
lupdate.h \
../shared/projectdescriptionreader.h \
../shared/qrcreader.h \
../shared/runqttool.h \
../shared/simtexth.h
mingw {

View file

@ -1,8 +0,0 @@
QT += core-private
DEFINES += QT_MOC
include(moc.pri)
HEADERS += qdatetime_p.h
SOURCES += main.cpp
load(qt_tool)

View file

@ -1,8 +0,0 @@
QT = core-private dbus-private
QMAKE_CXXFLAGS += $$QT_HOST_CFLAGS_DBUS
include(../moc/moc.pri)
SOURCES += qdbuscpp2xml.cpp
load(qt_tool)

View file

@ -1,23 +0,0 @@
SOURCES += \
compress.cpp \
cppgenerator.cpp \
dotgraph.cpp \
lalr.cpp \
main.cpp \
parsetable.cpp \
recognizer.cpp \
grammar.cpp
HEADERS += \
compress.h \
cppgenerator.h \
dotgraph.h \
lalr.h \
parsetable.h \
recognizer.h \
grammar_p.h
OTHER_FILES += \
lalr.g
load(qt_tool)

View file

@ -1,7 +1,7 @@
QT = core qml network qmldevtools-private
DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
SOURCES += main.cpp ../../src/qml/parser/qqmljsgrammar.cpp
SOURCES += main.cpp ../../src/qml/qqmljsgrammar.cpp
QMAKE_TARGET_DESCRIPTION = QML Import Scanner

View file

@ -1,6 +1,6 @@
QT = core qml network qmldevtools-private
QT = core qml qmldevtools-private
SOURCES += main.cpp ../../src/qml/parser/qqmljsgrammar.cpp
SOURCES += main.cpp ../../src/qml/qqmljsgrammar.cpp
QMAKE_TARGET_DESCRIPTION = QML Syntax Verifier

View file

@ -1,5 +1,5 @@
QT = core qml network qmldevtools-private
SOURCES += main.cpp ../../src/qml/parser/qqmljsgrammar.cpp
SOURCES += main.cpp ../../src/qml/qqmljsgrammar.cpp
QMAKE_TARGET_DESCRIPTION = QML/JS Minifier

View file

@ -5,7 +5,6 @@ SUBDIRS = assistant \
designer \
linguist \
qdbus \
qdoc \
qtattributionsscanner
linguist.depends = designer

View file

@ -6,3 +6,5 @@ SOURCES += main.cpp
QMAKE_TARGET_DESCRIPTION = "Qt Resource Compiler"
load(qt_tool)
DEFINES += QT_FEATURE_zstd=-1

View file

@ -1,6 +0,0 @@
DEFINES += QT_RCC
include(rcc.pri)
SOURCES += main.cpp
load(qt_tool)

View file

@ -2,6 +2,7 @@ QT = core qml core-private qmldevtools-private
DEFINES += QT_UIC QT_NO_CAST_FROM_ASCII QT_NO_FOREACH
include(uic.pri)
include(shared/shared.pri)
include(cpp/cpp.pri)
HEADERS += uic.h

View file

@ -1,11 +0,0 @@
DEFINES += QT_UIC
include(uic.pri)
include(cpp/cpp.pri)
HEADERS += uic.h
SOURCES += main.cpp \
uic.cpp
load(qt_tool)

View file

@ -1,35 +0,0 @@
From 1ac282ad3a859077cbff8bf4773db9bb5b6a5bbd Mon Sep 17 00:00:00 2001
From: Felix Janda <felix.janda@posteo.de>
Date: Sun, 1 Feb 2015 13:41:08 +0100
Subject: [PATCH 1/6] Fix conflict between musl libc <dirent.h> and lss
Include <dirent.h> late to avoid the macro getdents64 in musl
libc's <dirent.h> to conflict with linux_sycall_support.h.
---
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/crash_generation/crash_generation_server.cc | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/client/linux/crash_generation/crash_generation_server.cc b/src/client/linux/crash_generation/crash_generation_server.cc
index 860e8bc..f0aa801 100644
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/crash_generation/crash_generation_server.cc
+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/crash_generation/crash_generation_server.cc
@@ -28,7 +28,6 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <assert.h>
-#include <dirent.h>
#include <fcntl.h>
#include <limits.h>
#include <poll.h>
@@ -49,6 +48,8 @@
#include "common/linux/guid_creator.h"
#include "common/linux/safe_readlink.h"
+#include <dirent.h>
+
static const char kCommandQuit = 'x';
namespace google_breakpad {
--
2.0.5

View file

@ -1,5 +1,5 @@
--- qtwebengine/src/3rdparty/chromium/base/allocator/allocator_shim_default_dispatch_to_glibc.cc 2017-09-19 18:15:15.000000000 +0200
+++ qtwebengine/src/3rdparty/chromium/base/allocator/allocator_shim_default_dispatch_to_glibc.cc 2017-10-09 19:35:11.762384809 +0200
--- qtwebengine/src/3rdparty/chromium/base/allocator/allocator_shim_default_dispatch_to_glibc.cc
--- qtwebengine/src/3rdparty/chromium/base/allocator/allocator_shim_default_dispatch_to_glibc.cc
@@ -6,6 +6,7 @@
#include <malloc.h>
@ -8,8 +8,8 @@
// This translation unit defines a default dispatch for the allocator shim which
// routes allocations to libc functions.
// The code here is strongly inspired from tcmalloc's libc_override_glibc.h.
@@ -59,3 +60,98 @@
&GlibcGetSizeEstimate, /* get_size_estimate_function */
@@ -73,3 +74,92 @@ const AllocatorDispatch AllocatorDispatch::default_dispatch = {
nullptr, /* free_definite_size_function */
nullptr, /* next */
};
+
@ -37,18 +37,12 @@
+// resolve the symbols in libc.so
+void musl_libc_memory_init(void)
+{
+ void* libc = dlopen("libc", RTLD_LAZY);
+ if (!libc)
+ libc = dlopen("libc.so", RTLD_LAZY);
+ if (!libc)
+ libc = dlopen("libc.so.6", RTLD_LAZY);
+ libc_malloc = (t_libc_malloc) dlsym(libc, "malloc");
+ libc_calloc = (t_libc_calloc) dlsym(libc, "calloc");
+ libc_realloc = (t_libc_realloc) dlsym(libc, "realloc");
+ libc_memalign = (t_libc_memalign) dlsym(libc, "memalign");
+ libc_free = (t_libc_free) dlsym(libc, "free");
+ libc_malloc_usable_size = (t_libc_malloc_usable_size) dlsym(libc, "malloc_usable_size");
+ dlclose(libc);
+ libc_malloc = (t_libc_malloc) dlsym(RTLD_NEXT, "malloc");
+ libc_calloc = (t_libc_calloc) dlsym(RTLD_NEXT, "calloc");
+ libc_realloc = (t_libc_realloc) dlsym(RTLD_NEXT, "realloc");
+ libc_memalign = (t_libc_memalign) dlsym(RTLD_NEXT, "memalign");
+ libc_free = (t_libc_free) dlsym(RTLD_NEXT, "free");
+ libc_malloc_usable_size = (t_libc_malloc_usable_size) dlsym(RTLD_NEXT, "malloc_usable_size");
+}
+} // extern "C"
+

View file

@ -1,81 +0,0 @@
From 7e0a2a72d16c11699558054c01a2082517f7dac1 Mon Sep 17 00:00:00 2001
From: Felix Janda <felix.janda@posteo.de>
Date: Sun, 1 Feb 2015 14:40:41 +0100
Subject: [PATCH 6/6] <sys/signal.h> is a nonportable alias for <signal.h>
---
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc | 2 +-
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/android/include/sys/signal.h | 35 ---------------------------
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/common.gyp | 1 -
3 files changed, 1 insertion(+), 37 deletions(-)
delete mode 100644 src/common/android/include/sys/signal.h
diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc
index 3e2d196..cc3b1d3 100644
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
@@ -78,7 +78,7 @@
#include <sys/wait.h>
#include <unistd.h>
-#include <sys/signal.h>
+#include <signal.h>
#include <sys/ucontext.h>
#include <sys/user.h>
#include <ucontext.h>
diff --git a/src/common/android/include/sys/signal.h b/src/common/android/include/sys/signal.h
deleted file mode 100644
index 20c81e9..0000000
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/android/include/sys/signal.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright (c) 2012, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#ifndef GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
-#define GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
-
-#include <signal.h>
-
-#endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
diff --git a/src/common/common.gyp b/src/common/common.gyp
index c49ff85..1a6b1ae 100644
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/common.gyp
+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/common.gyp
@@ -47,7 +47,6 @@
'android/include/link.h',
'android/include/sgidefs.h',
'android/include/sys/procfs.h',
- 'android/include/sys/signal.h',
'android/include/sys/user.h',
'android/include/ucontext.h',
'android/testing/include/wchar.h',
--
2.0.5

View file

@ -29,14 +29,3 @@
struct mallinfo minfo = mallinfo();
#if defined(USE_TCMALLOC)
return minfo.uordblks;
--- qtwebengine/src/3rdparty/chromium/content/child/content_child_helpers.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine/src/3rdparty/chromium/content/child/content_child_helpers.cc 2018-01-28 06:23:14.891238507 +0100
@@ -25,7 +25,7 @@
// though, this provides only a partial and misleading value.
// Unfortunately some telemetry benchmark rely on it and these need to
// be refactored before getting rid of this. See crbug.com/581365 .
-#if defined(OS_LINUX) || defined(OS_ANDROID)
+#if defined(__GLIBC__) || defined(OS_ANDROID)
size_t GetMemoryUsageKB() {
struct mallinfo minfo = mallinfo();
uint64_t mem_usage =

View file

@ -1,12 +0,0 @@
--- qtwebengine/src/3rdparty/chromium/device/serial/serial_io_handler_posix.cc 2017-01-03 10:28:53.000000000 +0100
+++ qtwebengine/src/3rdparty/chromium/device/serial/serial_io_handler_posix.cc 2017-02-23 21:20:42.650669563 +0100
@@ -12,6 +12,9 @@
#if defined(OS_LINUX)
#include <linux/serial.h>
+#if !defined(__GLIBC__)
+#include <asm-generic/ioctls.h>
+#endif
// The definition of struct termios2 is copied from asm-generic/termbits.h
// because including that header directly conflicts with termios.h.

View file

@ -1,5 +1,5 @@
--- qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp 2018-01-27 23:08:43.586475349 +0100
+++ qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp 2018-01-27 23:18:22.274505203 +0100
--- qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc 2018-01-27 23:08:43.586475349 +0100
+++ qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc 2018-01-27 23:18:22.274505203 +0100
@@ -28,7 +28,7 @@
// FIXME: On Mac OSX and Linux, this method cannot estimate stack size
// correctly for the main thread.

View file

@ -1,18 +0,0 @@
--- qtwebengine/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:46.448912634 -0400
+++ qtwebengine/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:52.041784613 -0400
@@ -18,7 +18,13 @@
#endif
// Like the C++11 |alignof| operator.
-#if __cplusplus >= 201103L
+#if defined(__GNUC__) && __GNUC__ >= 8
+// GCC 8 has changed the alignof operator to return the minimal alignment
+// required by the target ABI, instead of the preferred alignment.
+// This means that on 32-bit x86, it will return 4 instead of 8.
+// Use __alignof__ instead to avoid this.
+#define MOJO_ALIGNOF(type) __alignof__(type)
+#elif __cplusplus >= 201103L
#define MOJO_ALIGNOF(type) alignof(type)
#elif defined(__GNUC__)
#define MOJO_ALIGNOF(type) __alignof__(type)
generated by cgit v1.1 at 2018-05-28 17:38:41 +0000

View file

@ -1,15 +1,3 @@
--- qtbase/config.tests/unix/openssl11/openssl.cpp 2017-11-05 16:07:40.963385070 -0500
+++ qtbase/config.tests/unix/openssl11/openssl.cpp 2017-11-05 16:07:51.755255545 -0500
@@ -39,7 +39,7 @@
#include <openssl/opensslv.h>
-#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L
+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
# error "OpenSSL >= 1.1 is required"
#endif
diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
index 41b759364b..17ce5b4b30 100644
--- qtbase/src/network/ssl/qsslcontext_openssl.cpp
@ -31,10 +19,10 @@ index 82ff5e9e3a..77e5d03b7d 100644
@@ -402,7 +402,7 @@ DEFINEFUNC2(int, SSL_CTX_use_PrivateKey, SSL_CTX *a, a, EVP_PKEY *b, b, return -
DEFINEFUNC2(int, SSL_CTX_use_RSAPrivateKey, SSL_CTX *a, a, RSA *b, b, return -1, return)
DEFINEFUNC3(int, SSL_CTX_use_PrivateKey_file, SSL_CTX *a, a, const char *b, b, int c, c, return -1, return)
DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *a, a, return 0, return)
DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *a, a, return nullptr, return)
-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
DEFINEFUNC(SSL_CONF_CTX *, SSL_CONF_CTX_new, DUMMYARG, DUMMYARG, return 0, return);
DEFINEFUNC(SSL_CONF_CTX *, SSL_CONF_CTX_new, DUMMYARG, DUMMYARG, return nullptr, return);
DEFINEFUNC(void, SSL_CONF_CTX_free, SSL_CONF_CTX *a, a, return ,return);
DEFINEFUNC2(void, SSL_CONF_CTX_set_ssl_ctx, SSL_CONF_CTX *a, a, SSL_CTX *b, b, return, return);
diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h
@ -50,3 +38,14 @@ index 4fb8f26cf6..3a7de93113 100644
SSL_CONF_CTX *q_SSL_CONF_CTX_new();
void q_SSL_CONF_CTX_free(SSL_CONF_CTX *a);
void q_SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *a, SSL_CTX *b);
--- qtbase/src/network/configure.json 2019-01-28 18:11:52.000000000 +0100
+++ - 2019-03-11 00:31:42.883264246 +0100
@@ -165,7 +165,7 @@
"test": {
"include": "openssl/opensslv.h",
"tail": [
- "#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L",
+ "#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)",
"# error OpenSSL >= 1.1 is required",
"#endif"
]

View file

@ -1,28 +1,37 @@
--- qttools/src/src.pro 2018-06-09 13:10:38.000000000 +0200
+++ qttools/src/src.pro 2018-08-19 09:34:29.803670205 +0200
@@ -1,16 +1,10 @@
@@ -1,20 +1,14 @@
TEMPLATE = subdirs
-qtHaveModule(widgets) {
- no-png {
- message("Some graphics-related tools are unavailable without PNG support")
- } else {
- SUBDIRS = assistant \
- pixeltool \
- designer
+SUBDIRS = assistant \
+ pixeltool \
+ designer
- linguist.depends = designer
- QT_FOR_CONFIG += widgets
- qtConfig(pushbutton):qtConfig(toolbutton) {
- SUBDIRS = assistant \
- designer \
- pixeltool
-
- linguist.depends = designer
- }
- qtHaveModule(quick):qtConfig(thread):qtConfig(toolbutton): SUBDIRS += distancefieldgenerator
- }
-}
+QT_FOR_CONFIG += widgets
+
+SUBDIRS = assistant \
+ designer \
+ pixeltool
+
+linguist.depends = designer
+
+SUBDIRS += distancefieldgenerator
SUBDIRS += linguist \
qtattributionsscanner
@@ -31,11 +25,11 @@
SUBDIRS += androiddeployqt
@@ -31,11 +25,11 @@ macos {
SUBDIRS += macdeployqt
}
-qtHaveModule(dbus): SUBDIRS += qdbus
@ -30,8 +39,8 @@
win32|winrt:SUBDIRS += windeployqt
winrt:SUBDIRS += winrtrunner
-qtHaveModule(gui):!android:!uikit:!qnx:!winrt: SUBDIRS += qtdiag
-qtHaveModule(gui):!wasm:!android:!uikit:!qnx:!winrt: SUBDIRS += qtdiag
+SUBDIRS += qtdiag
qtNomakeTools( \
pixeltool \
distancefieldgenerator \

View file

@ -1,12 +0,0 @@
--- qtwebengine/src/3rdparty/chromium/third_party/skia/include/gpu/GrTypes.h.orig 2018-09-11 14:37:56.832822055 +0200
+++ qtwebengine/src/3rdparty/chromium/third_party/skia/include/gpu/GrTypes.h 2018-09-11 14:38:11.464821183 +0200
@@ -348,9 +348,6 @@
static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1;
// Aliases for pixel configs that match skia's byte order.
-#ifndef SK_CPU_LENDIAN
- #error "Skia gpu currently assumes little endian"
-#endif
#if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
#elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)

View file

@ -1,12 +0,0 @@
--- qtwebengine/src/3rdparty/chromium/third_party/webrtc/typedefs.h 2018-06-15 09:47:20.000000000 +0200
+++ qtwebengine/src/3rdparty/chromium/third_party/webrtc/typedefs.h 2018-09-14 17:50:45.198153942 +0200
@@ -47,6 +47,9 @@
#elif defined(__pnacl__)
#define WEBRTC_ARCH_32_BITS
#define WEBRTC_ARCH_LITTLE_ENDIAN
+#elif defined(__MIPSEB__)
+#define WEBRTC_ARCH_MIPS_FAMILY
+#define WEBRTC_ARCH_BIG_ENDIAN
#else
#error Please add support for your architecture in typedefs.h
#endif

View file

@ -1,121 +0,0 @@
--- qtwebengine/src/3rdparty/chromium/base/message_loop/message_pump_libevent.cc
+++ qtwebengine/src/3rdparty/chromium/base/message_loop/message_pump_libevent.cc
@@ -14,7 +14,7 @@
#include "base/files/file_util.h"
#include "base/logging.h"
#include "base/posix/eintr_wrapper.h"
-#include "base/third_party/libevent/event.h"
+#include "event.h"
#include "base/time/time.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
--- qtwebengine/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py 2018-10-18 01:20:19.224169786 +0200
+++ qtwebengine/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py 2018-10-18 01:26:11.273148802 +0200
@@ -32,6 +32,7 @@
is_win = sys.platform.startswith('win')
is_linux = sys.platform.startswith('linux')
+is_gnu_linux = is_linux and platform.libc_ver()[0].startswith('glibc')
is_mac = sys.platform.startswith('darwin')
is_aix = sys.platform.startswith('aix')
is_posix = is_linux or is_mac or is_aix
@@ -193,7 +193,7 @@
{'ENABLE_MUTEX_PRIORITY_INHERITANCE': 'false'})
write_buildflag_header_manually(root_gen_dir, 'base/allocator/features.h',
- {'USE_ALLOCATOR_SHIM': 'true' if is_linux else 'false'})
+ {'USE_ALLOCATOR_SHIM': 'true' if is_gnu_linux else 'false'})
write_buildflag_header_manually(root_gen_dir, 'base/debug/debugging_flags.h',
{
@@ -453,8 +453,6 @@
'base/third_party/superfasthash/superfasthash.c',
])
static_libraries['base']['sources'].extend([
- 'base/allocator/allocator_check.cc',
- 'base/allocator/allocator_extension.cc',
'base/at_exit.cc',
'base/base_paths.cc',
'base/base_switches.cc',
@@ -625,6 +623,11 @@
'base/values.cc',
'base/vlog.cc',
])
+ if is_gnu_linux:
+ static_libraries['base']['sources'].extend([
+ 'base/allocator/allocator_check.cc',
+ 'base/allocator/allocator_extension.cc',
+ ])
if is_posix:
static_libraries['base']['sources'].extend([
@@ -663,29 +666,31 @@
'base/time/time_exploded_posix.cc',
])
- static_libraries['libevent'] = {
- 'sources': [
- 'base/third_party/libevent/buffer.c',
- 'base/third_party/libevent/evbuffer.c',
- 'base/third_party/libevent/evdns.c',
- 'base/third_party/libevent/event.c',
- 'base/third_party/libevent/event_tagging.c',
- 'base/third_party/libevent/evrpc.c',
- 'base/third_party/libevent/evutil.c',
- 'base/third_party/libevent/http.c',
- 'base/third_party/libevent/log.c',
- 'base/third_party/libevent/poll.c',
- 'base/third_party/libevent/select.c',
- 'base/third_party/libevent/signal.c',
- 'base/third_party/libevent/strlcpy.c',
- ],
- 'tool': 'cc',
- 'include_dirs': [],
- 'cflags': cflags + ['-DHAVE_CONFIG_H'],
- }
+ if is_gnu_linux:
+ static_libraries['libevent'] = {
+ 'sources': [
+ 'base/third_party/libevent/buffer.c',
+ 'base/third_party/libevent/evbuffer.c',
+ 'base/third_party/libevent/evdns.c',
+ 'base/third_party/libevent/event.c',
+ 'base/third_party/libevent/event_tagging.c',
+ 'base/third_party/libevent/evrpc.c',
+ 'base/third_party/libevent/evutil.c',
+ 'base/third_party/libevent/http.c',
+ 'base/third_party/libevent/log.c',
+ 'base/third_party/libevent/poll.c',
+ 'base/third_party/libevent/select.c',
+ 'base/third_party/libevent/signal.c',
+ 'base/third_party/libevent/strlcpy.c',
+ ],
+ 'tool': 'cc',
+ 'include_dirs': [],
+ 'cflags': cflags + ['-DHAVE_CONFIG_H'],
+ }
if is_linux or is_aix:
ldflags.extend(['-pthread'])
+ ldflags.extend(['-levent'])
static_libraries['xdg_user_dirs'] = {
'sources': [
@@ -709,7 +714,7 @@
'base/sys_info_linux.cc',
'base/threading/platform_thread_linux.cc',
])
- if is_linux:
+ if is_gnu_linux:
static_libraries['base']['sources'].extend([
'base/allocator/allocator_shim.cc',
'base/allocator/allocator_shim_default_dispatch_to_glibc.cc',
@@ -721,7 +726,7 @@
static_libraries['libevent']['sources'].extend([
'base/third_party/libevent/epoll.c',
])
- else:
+ if is_aix:
libs.extend(['-lrt'])
static_libraries['base']['sources'].extend([
'base/process/internal_aix.cc'

View file

@ -1,119 +0,0 @@
Description: revert upstream commit that removes use of syscall() and statx(2)
The commit https://code.qt.io/cgit/qt/qtbase.git/commit/?id=b7887f9b4faad222
removes the use of the above mentioned syscalls. This makes Qt not able
to run on current stable servers under a testing/unstable VM.
.
This patch should be removed in testing/unstable after Buster gets released.
Author: Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>
Forwarded: not-needed
---
src/corelib/global/minimum-linux_p.h | 7 ----
src/corelib/io/qfilesystemengine_unix.cpp | 45 ++++++++++++++++++++++++++++--
2 files changed, 43 insertions(+), 9 deletions(-)
--- qtbase/src/corelib/global/minimum-linux_p.h
+++ qtbase/src/corelib/global/minimum-linux_p.h
@@ -75,14 +75,9 @@ QT_BEGIN_NAMESPACE
* - accept4 2.6.28
* - renameat2 3.16 QT_CONFIG(renameat2)
* - getrandom 3.17 QT_CONFIG(getentropy)
- * - statx 4.11 QT_CONFIG(statx)
*/
-#if QT_CONFIG(statx)
-# define MINLINUX_MAJOR 4
-# define MINLINUX_MINOR 11
-# define MINLINUX_PATCH 0
-#elif QT_CONFIG(getentropy)
+#if QT_CONFIG(getentropy)
# define MINLINUX_MAJOR 3
# define MINLINUX_MINOR 17
# define MINLINUX_PATCH 0
--- qtbase/src/corelib/io/qfilesystemengine_unix.cpp
+++ qtbase/src/corelib/io/qfilesystemengine_unix.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2018 Intel Corporation.
+** Copyright (C) 2017 Intel Corporation.
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2013 Samuel Gaist <samuel.gaist@edeltech.ch>
** Contact: https://www.qt.io/licensing/
@@ -88,6 +88,7 @@ extern "C" NSString *NSTemporaryDirector
#if defined(Q_OS_LINUX)
# include <sys/ioctl.h>
+# include <sys/syscall.h>
# include <sys/sendfile.h>
# include <linux/fs.h>
@@ -95,6 +96,28 @@ extern "C" NSString *NSTemporaryDirector
#ifndef FICLONE
# define FICLONE _IOW(0x94, 9, int)
#endif
+
+# if defined(Q_OS_ANDROID)
+// renameat2() and statx() are disabled on Android because quite a few systems
+// come with sandboxes that kill applications that make system calls outside a
+// whitelist and several Android vendors can't be bothered to update the list.
+# undef SYS_renameat2
+# undef SYS_statx
+# undef STATX_BASIC_STATS
+# else
+# if !QT_CONFIG(renameat2) && defined(SYS_renameat2)
+static int renameat2(int oldfd, const char *oldpath, int newfd, const char *newpath, unsigned flags)
+{ return syscall(SYS_renameat2, oldfd, oldpath, newfd, newpath, flags); }
+# endif
+
+# if !QT_CONFIG(statx) && defined(SYS_statx)
+# include <linux/stat.h>
+static int statx(int dirfd, const char *pathname, int flag, unsigned mask, struct statx *statxbuf)
+{ return syscall(SYS_statx, dirfd, pathname, flag, mask, statxbuf); }
+# elif !QT_CONFIG(statx) && !defined(SYS_statx)
+# undef STATX_BASIC_STATS
+# endif
+# endif // !Q_OS_ANDROID
#endif
#if defined(Q_OS_ANDROID)
@@ -315,8 +338,22 @@ mtime(const T &statBuffer, int)
#ifdef STATX_BASIC_STATS
static int qt_real_statx(int fd, const char *pathname, int flags, struct statx *statxBuffer)
{
+#ifdef Q_ATOMIC_INT8_IS_SUPPORTED
+ static QBasicAtomicInteger<qint8> statxTested = Q_BASIC_ATOMIC_INITIALIZER(0);
+#else
+ static QBasicAtomicInt statxTested = Q_BASIC_ATOMIC_INITIALIZER(0);
+#endif
+
+ if (statxTested.load() == -1)
+ return -ENOSYS;
+
unsigned mask = STATX_BASIC_STATS | STATX_BTIME;
int ret = statx(fd, pathname, flags, mask, statxBuffer);
+ if (ret == -1 && errno == ENOSYS) {
+ statxTested.store(-1);
+ return -ENOSYS;
+ }
+ statxTested.store(1);
return ret == -1 ? -errno : 0;
}
@@ -1252,12 +1289,14 @@ bool QFileSystemEngine::renameFile(const
if (Q_UNLIKELY(srcPath.isEmpty() || tgtPath.isEmpty()))
return emptyFileEntryWarning(), false;
-#if defined(RENAME_NOREPLACE) && QT_CONFIG(renameat2)
+#if defined(RENAME_NOREPLACE) && (QT_CONFIG(renameat2) || defined(SYS_renameat2))
if (renameat2(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_NOREPLACE) == 0)
return true;
+ // If we're using syscall(), check for ENOSYS;
+ // if renameat2 came from libc, we don't accept ENOSYS.
// We can also get EINVAL for some non-local filesystems.
- if (errno != EINVAL) {
+ if ((QT_CONFIG(renameat2) || errno != ENOSYS) && errno != EINVAL) {
error = QSystemError(errno, QSystemError::StandardLibraryError);
return false;
}

View file

@ -1,236 +0,0 @@
From 97ec1d1882a83c23c91f0f7daea48e05858d8c32 Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@intel.com>
Date: Mon, 28 Jan 2019 14:33:12 -0800
Subject: [PATCH] Fix build with GCC 8.3
Qualifiers in the asm statement are not allowed in the global scope. I
thought they were necessary for LTO, but I the commit to this file that
added them predates my work on setting up LTO for GCC.
Change-Id: Id98140e1c2f0426cabbefffd157e23e5ece67a49
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
---
.../JavaScriptCore/jit/JITStubs.cpp | 48 +++++++++----------
1 file changed, 24 insertions(+), 24 deletions(-)
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
index 1abdf8b..9f60761 100644
--- qtscript/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
+++ qtscript/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
@@ -116,7 +116,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, savedEBX) == 0x3c, JITStackFrame_s
COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x58, JITStackFrame_callFrame_offset_matches_ctiTrampoline);
COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x50, JITStackFrame_code_offset_matches_ctiTrampoline);
-asm volatile (
+asm (
".text\n"
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
HIDE_SYMBOL(ctiTrampoline) "\n"
@@ -138,7 +138,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
"ret" "\n"
);
-asm volatile (
+asm (
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
@@ -154,7 +154,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
"ret" "\n"
);
-asm volatile (
+asm (
".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
@@ -179,7 +179,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, savedRBX) == 0x48, JITStackFrame_s
COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x90, JITStackFrame_callFrame_offset_matches_ctiTrampoline);
COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x80, JITStackFrame_code_offset_matches_ctiTrampoline);
-asm volatile (
+asm (
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
HIDE_SYMBOL(ctiTrampoline) "\n"
SYMBOL_STRING(ctiTrampoline) ":" "\n"
@@ -206,7 +206,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
"ret" "\n"
);
-asm volatile (
+asm (
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
@@ -222,7 +222,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
"ret" "\n"
);
-asm volatile (
+asm (
".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
@@ -242,7 +242,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
#error "JIT_STUB_ARGUMENT_VA_LIST not supported on ARMv7."
#endif
-asm volatile (
+asm (
".text" "\n"
".align 2" "\n"
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
@@ -269,7 +269,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
"bx lr" "\n"
);
-asm volatile (
+asm (
".text" "\n"
".align 2" "\n"
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
@@ -287,7 +287,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
"bx lr" "\n"
);
-asm volatile (
+asm (
".text" "\n"
".align 2" "\n"
".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
@@ -305,7 +305,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
#elif COMPILER(GCC) && CPU(ARM_TRADITIONAL)
-asm volatile (
+asm (
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
HIDE_SYMBOL(ctiTrampoline) "\n"
SYMBOL_STRING(ctiTrampoline) ":" "\n"
@@ -323,7 +323,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
"mov pc, lr" "\n"
);
-asm volatile (
+asm (
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
@@ -418,7 +418,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x38, JITStackFrame_
COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x30, JITStackFrame_code_offset_matches_ctiTrampoline);
COMPILE_ASSERT(offsetof(struct JITStackFrame, savedEBX) == 0x1c, JITStackFrame_stub_argument_space_matches_ctiTrampoline);
-asm volatile (
+asm (
".text\n"
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
HIDE_SYMBOL(ctiTrampoline) "\n"
@@ -440,7 +440,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
"ret" "\n"
);
-asm volatile (
+asm (
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
@@ -456,7 +456,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
"ret" "\n"
);
-asm volatile (
+asm (
".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
@@ -480,7 +480,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x58, JITStackFrame_
COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x48, JITStackFrame_code_offset_matches_ctiTrampoline);
COMPILE_ASSERT(offsetof(struct JITStackFrame, savedRBX) == 0x78, JITStackFrame_stub_argument_space_matches_ctiTrampoline);
-asm volatile (
+asm (
".text\n"
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
HIDE_SYMBOL(ctiTrampoline) "\n"
@@ -515,7 +515,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
"ret" "\n"
);
-asm volatile (
+asm (
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
@@ -531,7 +531,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
"ret" "\n"
);
-asm volatile (
+asm (
".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
@@ -551,7 +551,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
#error "JIT_STUB_ARGUMENT_VA_LIST not supported on ARMv7."
#endif
-asm volatile (
+asm (
".text" "\n"
".align 2" "\n"
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
@@ -578,7 +578,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
"bx lr" "\n"
);
-asm volatile (
+asm (
".text" "\n"
".align 2" "\n"
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
@@ -596,7 +596,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
"bx lr" "\n"
);
-asm volatile (
+asm (
".text" "\n"
".align 2" "\n"
".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
@@ -614,7 +614,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
#elif COMPILER(GCC) && CPU(ARM_TRADITIONAL)
-asm volatile (
+asm (
".text\n"
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
HIDE_SYMBOL(ctiTrampoline) "\n"
@@ -632,7 +632,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
"mov pc, lr" "\n"
);
-asm volatile (
+asm (
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
@@ -1024,7 +1024,7 @@ static NEVER_INLINE void throwStackOverflowError(CallFrame* callFrame, JSGlobalD
extern "C" { \
rtype JITStubThunked_##op(STUB_ARGS_DECLARATION); \
}; \
- asm volatile ( \
+ asm ( \
".text" "\n" \
".align 2" "\n" \
".globl " SYMBOL_STRING(cti_##op) "\n" \
@@ -1053,7 +1053,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, thunkReturnAddress) == THUNK_RETUR
extern "C" { \
rtype JITStubThunked_##op(STUB_ARGS_DECLARATION); \
}; \
- asm volatile ( \
+ asm ( \
".globl " SYMBOL_STRING(cti_##op) "\n" \
HIDE_SYMBOL(cti_##op) "\n" \
SYMBOL_STRING(cti_##op) ":" "\n" \

View file

@ -1,35 +0,0 @@
From 0d89dead4396126606fb7954c0bb0a2734d2347b Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
Date: Tue, 13 Nov 2018 16:00:23 +0100
Subject: [PATCH] Fix compile issue with gcc 9
It appears messenne_twisters in the latest libstdc++ has one more
requirement before it is willing to construct with our
SystemGenerator struct as an sseq provider.
Upstream-Status: Backport
Change-Id: If38151d1fa6f40a80274acc26d9ed6b4ac6049fe
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
---
qtbase/src/corelib/global/qrandom.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/corelib/global/qrandom.cpp b/src/corelib/global/qrandom.cpp
index ebf9864b15..577736a867 100644
--- qtbase/src/corelib/global/qrandom.cpp
+++ qtbase/src/corelib/global/qrandom.cpp
@@ -218,6 +218,7 @@ struct QRandomGenerator::SystemGenerator
#endif // Q_OS_WINRT
static SystemGenerator &self();
+ typedef quint32 result_type;
void generate(quint32 *begin, quint32 *end) Q_DECL_NOEXCEPT_EXPR(FillBufferNoexcept);
// For std::mersenne_twister_engine implementations that use something
--
2.20.1

View file

@ -0,0 +1,13 @@
diff --git src/3rdparty/chromium/third_party/yasm/source/config/linux/config.h src/3rdparty/chromium/third_party/yasm/source/config/linux/config.h
index 9e36539..f588083 100644
--- qtwebengine/src/3rdparty/chromium//third_party/yasm/source/config/linux/config.h
--- qtwebengine/src/3rdparty/chromium//third_party/yasm/source/config/linux/config.h
@@ -5,7 +5,7 @@
#define CPP_PROG "gcc -E"
/* */
-#define ENABLE_NLS 1
+/* #undef ENABLE_NLS 1 */
/* Define to 1 if you have the `abort' function. */
#define HAVE_ABORT 1

View file

@ -0,0 +1,11 @@
--- qtbase/src/network/ssl/qsslsocket_openssl.cpp 2019-06-13 06:18:18.000000000 +0200
+++ - 2019-06-17 14:59:22.501460882 +0200
@@ -604,7 +604,7 @@
q_SSL_set_psk_server_callback(ssl, &q_ssl_psk_server_callback);
}
#endif
-#if OPENSSL_VERSION_NUMBER >= 0x10101006L
+#if OPENSSL_VERSION_NUMBER >= 0x10101006L && !defined(LIBRESSL_VERSION_NUMBER)
// Set the client callback for TLSv1.3 PSK
if (mode == QSslSocket::SslClientMode
&& QSslSocket::sslLibraryBuildVersionNumber() >= 0x10101006L) {

View file

@ -0,0 +1,21 @@
--- qtwebengine/src/3rdparty/chromium//third_party/openmax_dl/dl/BUILD.gn 2019-04-09 09:31:16.000000000 +0200
+++ - 2019-05-06 23:08:09.537346546 +0200
@@ -206,18 +206,6 @@
"sp/src/arm/armv7/omxSP_FFTFwd_RToCCS_F32_Sfs_s.S",
"sp/src/arm/armv7/omxSP_FFTInv_CCSToR_F32_Sfs_s.S",
]
- if (arm_optionally_use_neon) {
- # Run-time NEON detection.
- deps = [
- "//third_party/android_tools:cpu_features",
- ]
-
- # To get the __android_log_print routine
- libs = [ "log" ]
-
- # Detection routine
- sources += [ "sp/src/arm/detect.c" ]
- }
}
# NEON implementation of FFT. This library is NOT

View file

@ -4,10 +4,10 @@
#endif
DEFINEFUNC2(BIO *, BIO_new_file, const char *filename, filename, const char *mode, mode, return 0, return)
DEFINEFUNC(void, ERR_clear_error, DUMMYARG, DUMMYARG, return, DUMMYARG)
-DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
-DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
+DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return)
+DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return nullptr, return)
-DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return nullptr, return)
+DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return nullptr, return)
+DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return nullptr, return)
DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)

View file

@ -1,6 +1,6 @@
--- qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2018-01-27 21:50:04.693231905 +0100
@@ -26,7 +26,7 @@
--- qtwebengine/src/3rdparty/chromium//base/debug/stack_trace_posix.cc.orig 2019-04-09 09:31:16.000000000 +0200
+++ qtwebengine/src/3rdparty/chromium//base/debug/stack_trace_posix.cc 2019-05-06 23:16:13.245502467 +0200
@@ -27,7 +27,7 @@
#if !defined(USE_SYMBOLIZE)
#include <cxxabi.h>
#endif
@ -9,7 +9,7 @@
#include <execinfo.h>
#endif
@@ -82,7 +82,7 @@
@@ -86,7 +86,7 @@
// Note: code in this function is NOT async-signal safe (std::string uses
// malloc internally).
@ -18,7 +18,7 @@
std::string::size_type search_from = 0;
while (search_from < text->size()) {
// Look for the start of a mangled symbol, from search_from.
@@ -117,7 +117,7 @@
@@ -121,7 +121,7 @@
search_from = mangled_start + 2;
}
}
@ -27,8 +27,8 @@
}
#endif // !defined(USE_SYMBOLIZE)
@@ -129,7 +129,7 @@
virtual ~BacktraceOutputHandler() {}
@@ -133,7 +133,7 @@
virtual ~BacktraceOutputHandler() = default;
};
-#if !defined(__UCLIBC__) && !defined(_AIX)
@ -36,7 +36,7 @@
void OutputPointer(void* pointer, BacktraceOutputHandler* handler) {
// This should be more than enough to store a 64-bit number in hex:
// 16 hex digits + 1 for null-terminator.
@@ -206,7 +206,7 @@
@@ -216,7 +216,7 @@
}
#endif // defined(USE_SYMBOLIZE)
}
@ -45,44 +45,44 @@
void PrintToStderr(const char* output) {
// NOTE: This code MUST be async-signal safe (it's used by in-process
@@ -749,7 +749,7 @@
// NOTE: This code MUST be async-signal safe (it's used by in-process
// stack dumping signal handler). NO malloc or stdio is allowed here.
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__) && !defined(_AIX)
count = std::min(arraysize(trace_), count);
// Though the backtrace API man page does not list any possible negative
@@ -764,13 +764,13 @@
@@ -812,7 +812,7 @@
// NOTE: This code MUST be async-signal safe (it's used by in-process
// stack dumping signal handler). NO malloc or stdio is allowed here.
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__) && !defined(_AIX)
// Though the backtrace API man page does not list any possible negative
// return values, we take no chance.
return base::saturated_cast<size_t>(backtrace(trace, count));
@@ -825,13 +825,13 @@
// NOTE: This code MUST be async-signal safe (it's used by in-process
// stack dumping signal handler). NO malloc or stdio is allowed here.
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__) && !defined(_AIX)
PrintBacktraceOutputHandler handler;
ProcessBacktrace(trace_, count_, &handler);
ProcessBacktrace(trace_, count_, prefix_string, &handler);
#endif
}
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__) && !defined(_AIX)
void StackTrace::OutputToStream(std::ostream* os) const {
void StackTrace::OutputToStreamWithPrefix(std::ostream* os,
const char* prefix_string) const {
StreamBacktraceOutputHandler handler(os);
ProcessBacktrace(trace_, count_, &handler);
--- qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.cc 2018-01-27 22:31:08.296359000 +0100
@@ -214,7 +214,7 @@
std::string StackTrace::ToString() const {
--- qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.cc 2019-04-09 09:31:16.000000000 +0200
+++ - 2019-05-06 23:18:14.923566992 +0200
@@ -233,7 +233,7 @@
}
std::string StackTrace::ToStringWithPrefix(const char* prefix_string) const {
std::stringstream stream;
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__) && !defined(_AIX)
OutputToStream(&stream);
OutputToStreamWithPrefix(&stream, prefix_string);
#endif
return stream.str();
--- qtwebengine/src/3rdparty/chromium/base/logging.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine/src/3rdparty/chromium/base/logging.cc 2018-01-27 22:46:34.970406807 +0100
--- qtwebengine/src/3rdparty/chromium//base/logging.cc 2017-11-28 14:06:53.000000000 +0100
--- qtwebengine/src/3rdparty/chromium//base/logging.cc 2018-01-27 22:46:34.970406807 +0100
@@ -546,7 +546,7 @@
LogMessage::~LogMessage() {
@ -92,33 +92,16 @@
!defined(OS_AIX)
if (severity_ == LOG_FATAL && !base::debug::BeingDebugged()) {
// Include a stack trace on a fatal, unless a debugger is attached.
--- qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/Assertions.cpp 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/Assertions.cpp 2018-01-29 20:23:26.498185623 +0100
@@ -59,7 +59,6 @@
--- qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/assertions.cc 2019-04-09 09:31:16.000000000 +0200
+++ - 2019-05-06 23:12:07.040977258 +0200
@@ -51,8 +51,10 @@
#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(__UCLIBC__))
#include <cxxabi.h>
#include <dlfcn.h>
-#include <execinfo.h>
#endif
#if defined(OS_ANDROID)
--- qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/checks.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/checks.cc 2018-01-29 20:32:41.070163511 +0100
@@ -16,7 +16,7 @@
#include <cstdio>
#include <cstdlib>
-#if defined(__GLIBCXX__) && !defined(__UCLIBC__)
+#if defined(__GLIBCXX__) && defined(__GLIBC__)
#include <cxxabi.h>
+#if defined(__GLIBC__)
#include <execinfo.h>
#endif
@@ -60,7 +60,7 @@
// to get usable symbols on Linux. This is copied from V8. Chromium has a more
// advanced stace trace system; also more difficult to copy.
void DumpBacktrace() {
-#if defined(__GLIBCXX__) && !defined(__UCLIBC__)
+#if defined(__GLIBCXX__) && defined(__GLIBC__)
void* trace[100];
int size = backtrace(trace, sizeof(trace) / sizeof(*trace));
char** symbols = backtrace_symbols(trace, size);
+#endif
#if defined(OS_ANDROID)
#include <android/log.h>

View file

@ -0,0 +1,26 @@
diff --git a/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc b/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc
index 02bf49b..05ee182 100644
--- qtwebengine/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc
+++ qtwebengine/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc
@@ -13,7 +13,7 @@ namespace pp {
namespace {
// Use 2MB default stack size for Native Client, otherwise use system default.
-#if defined(__native_client__)
+#if defined(__native_client__) || !defined(__GLIBC__)
const size_t kDefaultStackSize = 2 * 1024 * 1024;
#else
const size_t kDefaultStackSize = 0;
diff --git a/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc b/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc
index cf7f3ec..e06a5ce 100644
--- qtwebengine/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc
+++ qtwebengine/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc
@@ -761,7 +761,7 @@ void Thread::Start() {
#if V8_OS_MACOSX
// Default on Mac OS X is 512kB -- bump up to 1MB
stack_size = 1 * 1024 * 1024;
-#elif V8_OS_AIX
+#elif V8_OS_AIX || !defined(__GLIBC__)
// Default on AIX is 96kB -- bump up to 2MB
stack_size = 2 * 1024 * 1024;
#endif

View file

@ -0,0 +1,60 @@
--- qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/arm64_linux_syscalls.h
+++ qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/arm64_linux_syscalls.h
@@ -1063,4 +1063,8 @@
#define __NR_memfd_create 279
#endif
+#if !defined(__NR_membarrier)
+#define __NR_membarrier 283
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_
--- qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/arm_linux_syscalls.h
+++ qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/arm_linux_syscalls.h
@@ -1385,6 +1385,10 @@
#define __NR_memfd_create (__NR_SYSCALL_BASE+385)
#endif
+#if !defined(__NR_membarrier)
+#define __NR_membarrier (__NR_SYSCALL_BASE+389)
+#endif
+
// ARM private syscalls.
#if !defined(__ARM_NR_BASE)
#define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000)
--- qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/x86_32_linux_syscalls.h
+++ qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/x86_32_linux_syscalls.h
@@ -1422,5 +1422,9 @@
#define __NR_memfd_create 356
#endif
+#if !defined(__NR_membarrier)
+#define __NR_membarrier 375
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
--- qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/x86_64_linux_syscalls.h
+++ qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/x86_64_linux_syscalls.h
@@ -1290,5 +1290,9 @@
#define __NR_memfd_create 319
#endif
+#if !defined(__NR_membarrier)
+#define __NR_membarrier 324
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_
--- qtwebengine/src/3rdparty/chromium//sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+++ qtwebengine/src/3rdparty/chromium//sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
@@ -370,6 +370,7 @@
switch (sysno) {
case __NR_exit:
case __NR_exit_group:
+ case __NR_membarrier:
case __NR_wait4:
case __NR_waitid:
#if defined(__i386__)

View file

@ -0,0 +1,24 @@
There is no reason to run this script and running it fails on architectures
chromium does not officially support (such as ppc64).
--- qtwebengine/src/3rdparty/chromium/build/config/posix/BUILD.gn
+++ qtwebengine/src/3rdparty/chromium/build/config/posix/BUILD.gn
@@ -102,12 +102,12 @@ config("runtime_library") {
# when turning the sysroot on or off. (defines are passed via the command
# line, and build system rebuilds things when their commandline
# changes). Nothing should ever read this define.
- sysroot_hash =
- exec_script("//build/linux/sysroot_scripts/install-sysroot.py",
- [ "--print-hash=$current_cpu" ],
- "trim string",
- [ "//build/linux/sysroot_scripts/sysroots.json" ])
- defines += [ "CR_SYSROOT_HASH=$sysroot_hash" ]
+ #sysroot_hash =
+ # exec_script("//build/linux/sysroot_scripts/install-sysroot.py",
+ # [ "--print-hash=$current_cpu" ],
+ # "trim string",
+ # [ "//build/linux/sysroot_scripts/sysroots.json" ])
+ #defines += [ "CR_SYSROOT_HASH=$sysroot_hash" ]
}
asmflags += sysroot_flags

View file

@ -0,0 +1,20 @@
--- qtwebengine/mkspecs/features/functions.prf
+++ qtwebengine/mkspecs/features/functions.prf
@@ -95,6 +95,7 @@
contains(qtArch, "arm64"): return(arm64)
contains(qtArch, "mips"): return(mipsel)
contains(qtArch, "mips64"): return(mips64el)
+ contains(qtArch, "power64"): return(ppc64)
return(unknown)
}
--- qtwebengine/mkspecs/features/platform.prf
+++ qtwebengine/mkspecs/features/platform.prf
@@ -82,6 +82,7 @@
contains(QT_ARCH, "arm")|contains(QT_ARCH, "arm64"): return(true)
contains(QT_ARCH, "mips"): return(true)
# contains(QT_ARCH, "mips64"): return(true)
+ contains(QT_ARCH, "power64"): return(true)
skipBuild("QtWebEngine can only be built for x86, x86-64, ARM, Aarch64, and MIPSel architectures.")
return(false)

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,141 @@
This includes additional build fixes for the musl libc.
--- qtwebengine/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h
+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h
@@ -11,12 +11,14 @@
// All x86_64 builds use a new enough bionic to have sys/user.h.
#if !defined(__BIONIC__) || defined(__x86_64__)
#if !defined(__native_client_nonsfi__)
+#if !defined(__powerpc64__) || defined(__GLIBC__)
#include <sys/user.h>
#endif
+#endif
#if defined(__mips__)
// sys/user.h in eglibc misses size_t definition
#include <stddef.h>
-#elif defined(__powerpc64__)
+#elif defined(__powerpc64__) && defined(__GLIBC__)
// Manually define greg_t on ppc64
typedef unsigned long long greg_t;
#endif
@@ -361,11 +363,11 @@ typedef struct pt_regs regs_struct;
#define SECCOMP_ARCH AUDIT_ARCH_PPC64
#endif
-#define SECCOMP_REG(_ctx, _reg) ((_ctx)->uc_mcontext.regs->gpr[_reg])
+#define SECCOMP_REG(_ctx, _reg) (((struct pt_regs *)(_ctx)->uc_mcontext.regs)->gpr[_reg])
#define SECCOMP_RESULT(_ctx) SECCOMP_REG(_ctx, 3)
#define SECCOMP_SYSCALL(_ctx) SECCOMP_REG(_ctx, 0)
-#define SECCOMP_IP(_ctx) (_ctx)->uc_mcontext.regs->nip
+#define SECCOMP_IP(_ctx) ((struct pt_regs *)(_ctx)->uc_mcontext.regs)->nip
#define SECCOMP_PARM1(_ctx) SECCOMP_REG(_ctx, 3)
#define SECCOMP_PARM2(_ctx) SECCOMP_REG(_ctx, 4)
#define SECCOMP_PARM3(_ctx) SECCOMP_REG(_ctx, 5)
--- qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/syscall.cc
+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/syscall.cc
@@ -497,9 +497,9 @@ void Syscall::PutValueInUcontext(intptr_t ret_val, ucontext_t* ctx) {
// Same as MIPS, need to invert ret and set error register (cr0.SO)
if (ret_val <= -1 && ret_val >= -4095) {
ret_val = -ret_val;
- ctx->uc_mcontext.regs->ccr |= (1 << 28);
+ ((struct pt_regs *)ctx->uc_mcontext.regs)->ccr |= (1 << 28);
} else {
- ctx->uc_mcontext.regs->ccr &= ~(1 << 28);
+ ((struct pt_regs *)ctx->uc_mcontext.regs)->ccr &= ~(1 << 28);
}
#endif
SECCOMP_RESULT(ctx) = static_cast<greg_t>(ret_val);
--- qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
+++ qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
@@ -20,7 +20,7 @@
#include <intrin.h>
#endif
-#if defined(__powerpc__) || defined(__ppc__)
+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
#include <sys/platform/ppc.h>
#endif
@@ -53,7 +53,7 @@ double UnscaledCycleClock::Frequency() {
return base_internal::NominalCPUFrequency();
}
-#elif defined(__powerpc__) || defined(__ppc__)
+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
int64_t UnscaledCycleClock::Now() {
return __ppc_get_timebase();
--- qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h
+++ qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h
@@ -46,7 +46,7 @@
// The following platforms have an implementation of a hardware counter.
#if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
- defined(__powerpc__) || defined(__ppc__) || \
+ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
defined(_M_IX86) || defined(_M_X64)
#define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
#else
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
@@ -273,6 +273,9 @@ void ThreadInfo::FillCPUContext(RawContextCPU* out) const {
#elif defined(__powerpc64__)
+#include <asm/elf.h>
+#include <asm/ptrace.h>
+
uintptr_t ThreadInfo::GetInstructionPointer() const {
return mcontext.gp_regs[PT_NIP];
}
@@ -290,9 +293,9 @@ void ThreadInfo::FillCPUContext(RawContextCPU* out) const {
out->ctr = mcontext.gp_regs[PT_CTR];
for (int i = 0; i < MD_FLOATINGSAVEAREA_PPC_FPR_COUNT; i++)
- out->float_save.fpregs[i] = mcontext.fp_regs[i];
+ out->float_save.fpregs[i] = ((uint64_t *)&mcontext.fp_regs)[i];
- out->float_save.fpscr = mcontext.fp_regs[NFPREG-1];
+ out->float_save.fpscr = ((uint64_t *)&mcontext.fp_regs)[ELF_NFPREG-1];
for (int i = 0; i < MD_VECTORSAVEAREA_PPC_VR_COUNT; i++)
out->vector_save.save_vr[i] = \
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
@@ -257,6 +257,9 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
#elif defined(__powerpc64__)
+#include <asm/elf.h>
+#include <asm/ptrace.h>
+
uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gp_regs[MD_CONTEXT_PPC64_REG_SP];
}
@@ -280,9 +283,9 @@ void UContextReader::FillCPUContext(RawContextCPU* out, const ucontext_t* uc,
out->ctr = uc->uc_mcontext.gp_regs[PT_CTR];
for (int i = 0; i < MD_FLOATINGSAVEAREA_PPC_FPR_COUNT; i++)
- out->float_save.fpregs[i] = uc->uc_mcontext.fp_regs[i];
+ out->float_save.fpregs[i] = ((uint64_t *)&uc->uc_mcontext.fp_regs)[i];
- out->float_save.fpscr = uc->uc_mcontext.fp_regs[NFPREG-1];
+ out->float_save.fpscr = ((uint64_t *)&uc->uc_mcontext.fp_regs)[ELF_NFPREG-1];
for (int i = 0; i < MD_VECTORSAVEAREA_PPC_VR_COUNT; i++)
out->vector_save.save_vr[i] =
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
@@ -105,6 +105,11 @@
#define PR_SET_PTRACER 0x59616d61
#endif
+/* musl hack, can't include asm/ptrace.h as that causes conflicts */
+#if defined(__powerpc64__) && !defined(PT_NIP)
+#define PT_NIP 32
+#endif
+
namespace google_breakpad {
namespace {

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,43 @@
This fixes v8 on big endian ppc64 ELFv2.
--- qtwebengine/src/3rdparty/chromium/v8/src/ppc/constants-ppc.h
+++ qtwebengine/src/3rdparty/chromium/v8/src/ppc/constants-ppc.h
@@ -21,7 +21,8 @@
#endif
#if V8_HOST_ARCH_PPC && \
- (V8_OS_AIX || (V8_TARGET_ARCH_PPC64 && V8_TARGET_BIG_ENDIAN))
+ (V8_OS_AIX || (V8_TARGET_ARCH_PPC64 && \
+ (V8_TARGET_BIG_ENDIAN && (!defined(_CALL_ELF) || _CALL_ELF == 1))))
#define ABI_USES_FUNCTION_DESCRIPTORS 1
#else
#define ABI_USES_FUNCTION_DESCRIPTORS 0
@@ -33,13 +34,15 @@
#define ABI_PASSES_HANDLES_IN_REGS 0
#endif
-#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || V8_TARGET_LITTLE_ENDIAN
+#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || \
+ (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2))
#define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1
#else
#define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 0
#endif
-#if !V8_HOST_ARCH_PPC || (V8_TARGET_ARCH_PPC64 && V8_TARGET_LITTLE_ENDIAN)
+#if !V8_HOST_ARCH_PPC || (V8_TARGET_ARCH_PPC64 && \
+ (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2)))
#define ABI_CALL_VIA_IP 1
#else
#define ABI_CALL_VIA_IP 0
--- qtwebengine/src/3rdparty/chromium/v8/src/ppc/register-ppc.h
+++ qtwebengine/src/3rdparty/chromium/v8/src/ppc/register-ppc.h
@@ -145,7 +145,8 @@ const int kNumSafepointRegisters = 32;
// The following constants describe the stack frame linkage area as
// defined by the ABI. Note that kNumRequiredStackFrameSlots must
// satisfy alignment requirements (rounding up if required).
-#if V8_TARGET_ARCH_PPC64 && V8_TARGET_LITTLE_ENDIAN // ppc64le linux
+#if V8_TARGET_ARCH_PPC64 && (V8_TARGET_LITTLE_ENDIAN || \
+ defined(_CALL_ELF) && _CALL_ELF == 2)
// [0] back chain
// [1] condition register save area
// [2] link register save area

View file

@ -0,0 +1,17 @@
--- qtwebengine/src/3rdparty/chromium/third_party/skia/third_party/skcms/skcms.cc
+++ qtwebengine/src/3rdparty/chromium/third_party/skia/third_party/skcms/skcms.cc
@@ -1828,6 +1828,14 @@ typedef enum {
#endif
#endif
+// with current gcc 8.3.0 we get an internal compiler error when compiling
+// for ppc64 big endian - so switch to portable until this is resolved
+#if defined(__powerpc64__)
+# if defined(__BIG_ENDIAN__) && !defined(SKCMS_PORTABLE)
+# define SKCMS_PORTABLE
+# endif
+#endif
+
#if defined(__clang__)
template <int N, typename T> using Vec = T __attribute__((ext_vector_type(N)));
#elif defined(__GNUC__)

File diff suppressed because it is too large Load diff

View file

@ -1,41 +0,0 @@
This adds the necessary bits to make qt attempt building webengine on ppc64.
Since the patch is only sufficient for ppc64le, keep it commented out and
let the packaging template remove the comment later, as there is no good
way to check endianness directly in the file.
We also have to disable jumbo build for the time being because it results
in build failures otherwise, most likely because of compiler miscompiling
the code.
--- qtwebengine/mkspecs/features/functions.prf
+++ qtwebengine/mkspecs/features/functions.prf
@@ -95,6 +95,7 @@
contains(qtArch, "arm64"): return(arm64)
contains(qtArch, "mips"): return(mipsel)
contains(qtArch, "mips64"): return(mips64el)
+ contains(qtArch, "power64"): return(ppc64)
return(unknown)
}
--- qtwebengine/mkspecs/features/platform.prf
+++ qtwebengine/mkspecs/features/platform.prf
@@ -82,6 +82,7 @@
contains(QT_ARCH, "arm")|contains(QT_ARCH, "arm64"): return(true)
contains(QT_ARCH, "mips"): return(true)
# contains(QT_ARCH, "mips64"): return(true)
+#ppc64le contains(QT_ARCH, "power64"): return(true)
skipBuild("QtWebEngine can only be built for x86, x86-64, ARM, Aarch64, and MIPSel architectures.")
return(false)
--- qtwebengine/src/core/config/linux.pri
+++ qtwebengine/src/core/config/linux.pri
@@ -90,6 +90,10 @@
else: contains(QMAKE_CFLAGS, "-mdsp"): gn_args += mips_dsp_rev=1
}
+contains(QT_ARCH, "power64") {
+ gn_args += use_jumbo_build=false
+}
+
host_build {
gn_args += custom_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:host\"
GN_HOST_CPU = $$gnArch($$QT_ARCH)

View file

@ -1,7 +1,7 @@
# Template file for 'qt5'
pkgname=qt5
version=5.11.3
revision=8
version=5.13.0
revision=1
wrksrc="qt-everywhere-src-${version}"
build_style=gnu-configure
hostmakedepends="cmake clang flex git glib-devel gperf ninja pkg-config
@ -10,32 +10,46 @@ makedepends="SDL2-devel Vulkan-Headers alsa-lib-devel double-conversion-devel
eudev-libudev-devel ffmpeg-devel freetds-devel glib-devel gst-plugins-base1-devel
gtk+3-devel icu-devel jsoncpp-devel libXv-devel libbluetooth-devel libcap-devel
libevent-devel libinput-devel libmng-devel libmysqlclient-devel libproxy-devel
libvpx5-devel libwebp-devel libxslt-devel minizip-devel nss-devel
libvpx-devel libwebp-devel libxslt-devel minizip-devel nss-devel cups-devel
opus-devel pciutils-devel pcre2-devel postgresql-libs-devel
protobuf-devel pulseaudio-devel snappy-devel tslib-devel
unixodbc-devel xcb-util-image-devel xcb-util-keysyms-devel
xcb-util-renderutil-devel xcb-util-wm-devel"
xcb-util-renderutil-devel xcb-util-wm-devel libzstd-devel"
depends="qtchooser"
short_desc="Cross-platform application and UI framework (QT5)"
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
license="GPL-3.0-or-later, LGPL-2.1-or-later"
license="GPL-3.0-or-later, LGPL-3.0-or-later"
homepage="https://qt.io/"
distfiles="http://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/${version%.*}/${version}/single/qt-everywhere-src-${version}.tar.xz"
checksum=859417642713cee2493ee3646a7fee782c9f1db39e41d7bb1322bba0c5f0ff4d
distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/single/qt-everywhere-src-${version}.tar.xz"
checksum=2cba31e410e169bd5cdae159f839640e672532a4687ea0f265f686421e0e86d6
replaces="qt5-doc<5.6.0 qt5-quick1<5.6.0 qt5-quick1-devel<5.6.0 qt5-webkit<5.6.0 qt5-webkit-devel<5.6.0
qt5-enginio<5.7.1 qt5-enginio-devel<5.7.1 qt5-plugin-gtk<5.7.1"
qt5-enginio<5.7.1 qt5-enginio-devel<5.7.1 qt5-plugin-gtk<5.7.1 qt5-canvas3d<5.13.0"
build_options="webengine"
desc_option_webengine="Build Chromium-based WebEngine component"
case "$XBPS_TARGET_MACHINE" in
x86_64*|i686*|ppc64le*) build_options_default="webengine";;
x86_64*|i686*|ppc64*) build_options_default="webengine";;
armv5tel*) ;; # qtwebengine uses VSM assembler commands
arm*|aarch64*) build_options_default="webengine";;
aarch64*) build_options_default="webengine";;
arm*) ;; # qtwebengine requires a 32bit host toolchain http://sprunge.us/rbRyWQ
*) ;; # assume no webengine
esac
subpackages="qt5-3d qt5-3d-devel qt5-canvas3d qt5-charts qt5-charts-devel
if [ "$build_option_webengine" ]; then
# v8 requires libatomic on ppc*/s390x/mips*
case "$XBPS_TARGET_MACHINE" in
mips*|ppc*) makedepends+=" libatomic-devel" ;;
*) ;;
esac
# also need it on host when it's one of those archs
case "$XBPS_MACHINE" in
mips*|ppc*) hostmakedepends+=" libatomic-devel" ;;
*) ;;
esac
fi
subpackages="qt5-3d qt5-3d-devel qt5-charts qt5-charts-devel
qt5-connectivity qt5-connectivity-devel qt5-datavis3d qt5-datavis3d-devel
qt5-declarative qt5-declarative-devel qt5-devel qt5-examples qt5-gamepad
qt5-gamepad-devel qt5-graphicaleffects qt5-host-tools qt5-imageformats
@ -51,7 +65,8 @@ subpackages="qt5-3d qt5-3d-devel qt5-canvas3d qt5-charts qt5-charts-devel
qt5-virtualkeyboard-devel qt5-wayland qt5-wayland-devel qt5-webchannel
qt5-webchannel-devel qt5-webglplugin qt5-webglplugin-devel qt5-websockets
qt5-websockets-devel qt5-webview qt5-webview-devel qt5-x11extras
qt5-x11extras-devel qt5-xmlpatterns qt5-xmlpatterns-devel"
qt5-x11extras-devel qt5-xmlpatterns qt5-xmlpatterns-devel
qt5-lottie qt5-lottie-devel"
if [ "$build_option_webengine" ]; then
subpackages+=" qt5-webengine qt5-webengine-devel"
@ -60,6 +75,7 @@ fi
if [ "${XBPS_MACHINE%%-musl}" = i686 ]; then
nodebug=yes # prevent OOM
fi
# Work around SSLv3_{client,server}_method missing in libressl-2.3.3
CFLAGS="-DOPENSSL_NO_PSK -DOPENSSL_NO_NEXTPROTONEG"
CXXFLAGS="${CFLAGS} -Wno-deprecated-declarations -Wno-class-memaccess -Wno-packed-not-aligned"
@ -70,6 +86,7 @@ if [ "$CROSS_BUILD" ]; then
# Need some devel packages in the host to build qmake, moc, uic, rcc
# wayland-devel contains /usr/bin/wayland-scanner
hostmakedepends+=" icu-devel wayland-devel zlib-devel"
hostmakedepends+=" postgresql-libs-devel"
# Cross building qtwebengine requires some more host packages
if [ "$build_option_webengine" ]; then
hostmakedepends+=" nss-devel libevent-devel"
@ -78,48 +95,18 @@ fi
_bootstrap_gn() {
# Bootstrap gn (generate ninja)
_msg_cross "Bootstrapping 'gn'"
cd ${wrksrc}/qtwebengine/src/3rdparty/chromium/tools/gn
conf='is_clang=false'
conf+=' treat_warnings_as_errors=false'
conf+=' enable_remoting=false'
conf+=' enable_nacl=false'
conf+=' use_cups=false'
conf+=' use_gconf=false'
conf+=' use_gio=false'
conf+=' use_gnome_keyring=false'
conf+=' use_gtk=false'
conf+=' use_kerberos=false'
conf+=' linux_use_bundled_binutils=false'
conf+=' binutils_path="/usr/bin"'
conf+=' use_gold=false'
conf+=' use_sysroot=false'
conf+=' use_allocator="none"'
conf+=' is_android=false'
sed -i ${wrksrc}/qtwebengine/src/core/config/linux.pri \
-e "/equals(MARMV/s;true;false;"
case "$XBPS_TARGET_MACHINE" in
armv[56]*) conf+=' arm_use_neon=false arm_optionally_use_neon=false';;
armv7*) conf+=' arm_use_neon=true arm_optionally_use_neon=false';;
aarch64*) conf+=' arm_use_neon=true arm_optionally_use_neon=false';;
esac
AR="$AR_host" CC="$CC_host" CXX="$CXX_host" LD="$CXX_host" \
echo "Bootstrapping 'gn'"
cd ${wrksrc}/qtwebengine/src/3rdparty/gn
CFLAGS="$CFLAGS_host" CXXFLAGS="$CXXFLAGS_host" LDFLAGS="$LDFLAGS_host" \
PKGCONFIG=/usr/bin/pkgconfig PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig" \
python2 bootstrap/bootstrap.py -n --gn-gen-args "${conf}"
python2 build/gen.py --no-last-commit-position --out-path \
${wrksrc}/qtwebengine/src/3rdparty/gn/out/Release --cc "$CC_host" \
--cxx "$CXX_host" --ld "$CXX_host" --ar "$AR_host"
ninja -C out/Release gn
cd ${wrksrc}
mkdir -p ${wrksrc}/qtwebengine/src/3rdparty/chromium/tools/gn/out/Release
cp -p ${wrksrc}/qtwebengine/src/3rdparty/chromium/out/Release/gn \
${wrksrc}/qtwebengine/src/3rdparty/chromium/tools/gn/out/Release/
# Remove gn from SUBDIRS for qtwebengine/src/buildtools
sed -i ${wrksrc}/qtwebengine/src/buildtools/buildtools.pro \
-e"/gn.file = gn.pro/,+3d"
}
_cleanup_wrksrc_leak() {
if [ -d "${PKGDESTDIR}/usr/lib/cmake" ]; then
# Replace references to ${wrksrc} in cmake files
@ -253,9 +240,6 @@ do_configure() {
qtwebengine/src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/spin_lock.cc \
-e 's;"yield";"nop";'
;;
ppc64le*) # enable webengine but not on BE ppc64 for now
sed -i qtwebengine/mkspecs/features/platform.prf -e 's;#ppc64le;;'
;;
esac
case "$XBPS_TARGET_MACHINE" in
@ -285,7 +269,6 @@ do_configure() {
for d in $(ls ${wrksrc}/qtbase/include); do
ln -sfv ${version}/${d}/private qtbase/include/${d}/private
done
if [ "$build_option_webengine" ]; then
_bootstrap_gn
fi
@ -307,6 +290,7 @@ do_configure() {
-e '/#error Read the comment at this location/d'
;;
esac
patch -Np0 < ${FILESDIR}/0090-hard-disable-qmlchachegen.patch
else
# qmake {CXX,L}FLAGS patches
sed -i -e "s|^\(CXXFLAGS =.*\)|\1 ${CXXFLAGS}|" \
@ -339,6 +323,10 @@ do_configure() {
opts+=" -icu"
opts+=" -openssl-linked"
opts+=" -dbus-linked"
opts+=" -sql-mysql"
opts+=" -mysql_config ${XBPS_CROSS_BASE}/usr/bin/mysql_config"
opts+=" -sql-psql"
opts+=" -psql_config /usr/bin/pg_config"
opts+=" -no-pch"
opts+=" -no-strip"
opts+=" -nomake examples"
@ -369,12 +357,10 @@ do_configure() {
fi
opts+=" -silent"
# opts+=" -v"
# make sure to disable webengine on platforms that we don't build it for
if [ -z "$build_option_webengine" ]; then
opts+=" -skip qtwebengine"
fi
LDFLAGS+=" -Wl,--no-keep-memory" # needs more than 8GB RAM else
if [ "$CROSS_BUILD" ]; then
spec=void-${XBPS_CROSS_TRIPLET}-g++
@ -392,6 +378,19 @@ do_configure() {
fi
;;
esac
case "$XBPS_TARGET_MACHINE" in
aarch64*|armv7*)
sed -i ${wrksrc}/qtwebengine/src/core/config/linux.pri \
-e "/arm_use_neon=/s;false;true;"
;;
arm*)
sed -i ${wrksrc}/qtwebengine/src/core/config/linux.pri \
-e "/arm_use_neon=/s;true;false;"
;;
esac
sed -i ${wrksrc}/qtwebengine/src/core/config/linux.pri \
-e "/equals(MARMV/s;true;false;"
# Make sure libQt5Designer is built
cp -v ${FILESDIR}/qttools_src.pro qttools/src/src.pro
@ -425,7 +424,6 @@ do_install() {
cd ${wrksrc}/qtbase
make INSTALL_ROOT=${DESTDIR} install
vlicense ${wrksrc}/LGPL_EXCEPTION.txt
_cleanup_wrksrc_leak
# Symbolic links for remaining binaries
@ -498,7 +496,10 @@ do_install() {
dirs+=" qttools/src/qtattributionsscanner"
dirs+=" qttools/src/linguist/lconvert"
dirs+=" qttools/src/linguist/lrelease"
dirs+=" qttools/src/linguist/lrelease-pro"
dirs+=" qttools/src/linguist/lprodump"
dirs+=" qttools/src/linguist/lupdate"
dirs+=" qttools/src/linguist/lupdate-pro"
# Cannot be cross compiled (target clang issue)
# dirs+=" qttools/src/qdoc"
@ -547,6 +548,7 @@ do_install() {
[ -f "${base}.pro.orig" ] && mv -v ${base}.pro{.orig,}
[ -f Makefile.orig ] && mv -v Makefile{.orig,}
# Avoid rebuilding the Makefile by changing the rule
sed -i Makefile -e 's;^all:.*;all:;'
sed -i Makefile -e "s;^Makefile:;Makefile.host:;"
if [ -x "${wrksrc}/${dir}/bin/${base}-host" ]; then
mv -v ${wrksrc}/${dir}/bin/${base}{-host,}
@ -574,13 +576,6 @@ qt5-3d_package() {
}
}
qt5-canvas3d_package() {
short_desc+=" - Canvas 3D component"
pkg_install() {
_install_subpkg qtcanvas3d
}
}
qt5-charts-devel_package() {
short_desc+=" - Charts component (development)"
depends="qt5-charts-${version}_${revision} qt5-declarative-devel-${version}_${revision}"
@ -662,6 +657,18 @@ qt5-examples_package() {
}
}
qt5-lottie-devel_package() {
pkg_install() {
_install_devel qtlottie
}
}
qt5-lottie_package() {
pkg_install() {
_install_subpkg qtlottie
}
}
qt5-gamepad-devel_package() {
short_desc+=" - Gamepad component (development)"
depends="qt5-gamepad-${version}_${revision} qt5-declarative-devel-${version}_${revision}"
@ -775,7 +782,7 @@ qt5-quickcontrols2_package() {
qt5-remoteobjects-devel_package() {
short_desc+=" - Remote Objects (development)"
depends="qt5-quickcontrols2-${version}_${revision} qt5-devel-${version}_${revision}"
depends="qt5-remoteobjects-${version}_${revision} qt5-devel-${version}_${revision}"
pkg_install() {
_install_devel qtremoteobjects
}
@ -1045,7 +1052,7 @@ qt5-host-tools_package() {
vmkdir usr/lib/qt5/bin
vmkdir usr/bin
for f in moc rcc uic qlalr qdbuscpp2xml qdbusxml2cpp \
lconvert lupdate lrelease; do
lconvert lupdate lupdate-pro lprodump lrelease lrelease-pro; do
if [ -r ${dest}/usr/lib/qt5/bin/${f} ]; then
mv -v ${dest}/usr/lib/qt5/bin/${f} ${PKGDESTDIR}/usr/lib/qt5/bin/
fi
@ -1099,7 +1106,7 @@ qt5-tools_package() {
install -m644 ${FILESDIR}/*.desktop ${PKGDESTDIR}/usr/share/applications
_move_target_binaries qtattributionsscanner qdoc
# Move some binaries to qt5-host-tools
for f in lconvert lupdate lrelease; do
for f in lconvert lupdate lupdate-pro lprodump lrelease lrelease-pro; do
if [ -f ${PKGDESTDIR}/usr/lib/qt5/bin/${f} ]; then
mkdir -p ${dest}/usr/lib/qt5/bin
mv -v ${PKGDESTDIR}/usr/lib/qt5/bin/${f} ${dest}/usr/lib/qt5/bin/
@ -1115,7 +1122,7 @@ qt5-tools_package() {
qt5-devel_package() {
depends="zlib-devel libressl-devel>=2.1.4 libXext-devel libXrender-devel
fontconfig-devel libglib-devel MesaLib-devel mtdev-devel
dbus-devel icu-devel qt5-${version}_${revision}
dbus-devel icu-devel cups-devel qt5-${version}_${revision}
qt5-qmake-${version}_${revision}
qt5-host-tools-${version}_${revision}"
short_desc+=" - Development files"
@ -1175,6 +1182,10 @@ qt5-qmake_package() {
# Change -isystem to -I to avoid "#include_next <stdlib.h>" errors
sed -i ${PKGDESTDIR}/usr/lib/qt5/mkspecs/common/gcc-base.conf \
-e '/^QMAKE_CFLAGS_ISYSTEM/s;-isystem;-I;'
find ${PKGDESTDIR} -iname "*.prl" -exec sed -i "{}" \
-e 's%/usr/lib/lib\([^[:space:]]*\)\.[sa][o]*%-l\1%g' \;
find ${PKGDESTDIR} -iname "*.pri" -exec sed -i "{}" \
-e 's%/usr/lib/lib\([^[:space:]]*\)\.[sa][o]*%-l\1%g' \;
# Undo changes to mkspecs/common/gcc-base.conf and g++-unix.conf
if [ "$CROSS_BUILD" ]; then