summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2018-09-25 14:10:03 -0700
committerMartin Jansa <Martin.Jansa@gmail.com>2018-09-25 23:34:28 +0000
commit1ed9bcb1751df5e61f558bcb9172308de182fb3e (patch)
tree297623788fa086e3f410a58ea192cd80c225467d
parent24d6fc29ab806daadb5e4aa93b768b3cc76c2fc4 (diff)
downloadmeta-qt5-1ed9bcb1751df5e61f558bcb9172308de182fb3e.tar.gz
qtwebengine: Add patches to fix breakpad in new webengine release on musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch65
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch54
-rw-r--r--recipes-qt/qt5/qtwebengine_git.bb2
3 files changed, 121 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch
new file mode 100644
index 00000000..2be0cb07
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch
@@ -0,0 +1,65 @@
1From cd92f771ac37ae41d7a1abfd6fcc9d50aa7529d8 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 25 Sep 2018 12:35:07 -0700
4Subject: [PATCH] Use _fpstate instead of _libc_fpstate on linux
5
6glibc defines both. musl libc only the former.
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 .../src/client/linux/dump_writer_common/ucontext_reader.cc | 4 ++--
11 .../src/client/linux/dump_writer_common/ucontext_reader.h | 2 +-
12 .../src/client/linux/minidump_writer/minidump_writer.h | 2 +-
13 3 files changed, 4 insertions(+), 4 deletions(-)
14
15diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
16index 052ce37cb4..95b0fb44e1 100644
17--- a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
18+++ b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
19@@ -49,7 +49,7 @@ uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
20 }
21
22 void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
23- const struct _libc_fpstate* fp) {
24+ const struct _fpstate* fp) {
25 const greg_t* regs = uc->uc_mcontext.gregs;
26
27 out->context_flags = MD_CONTEXT_X86_FULL |
28@@ -97,7 +97,7 @@ uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
29 }
30
31 void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
32- const struct _libc_fpstate* fpregs) {
33+ const struct _fpstate* fpregs) {
34 const greg_t* regs = uc->uc_mcontext.gregs;
35
36 out->context_flags = MD_CONTEXT_AMD64_FULL;
37diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
38index f830618f24..f3dde1f4df 100644
39--- a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
40+++ b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
41@@ -50,7 +50,7 @@ struct UContextReader {
42 // info: the collection of register structures.
43 #if defined(__i386__) || defined(__x86_64)
44 static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
45- const struct _libc_fpstate* fp);
46+ const struct _fpstate* fp);
47 #elif defined(__aarch64__)
48 static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
49 const struct fpsimd_context* fpregs);
50diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h b/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
51index d1dc331215..d1cc5624cd 100644
52--- a/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
53+++ b/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
54@@ -48,7 +48,7 @@ class ExceptionHandler;
55 #if defined(__aarch64__)
56 typedef struct fpsimd_context fpstate_t;
57 #elif !defined(__ARM_EABI__) && !defined(__mips__)
58-typedef struct _libc_fpstate fpstate_t;
59+typedef struct _fpstate fpstate_t;
60 #endif
61
62 // These entries store a list of memory regions that the client wants included
63--
642.19.0
65
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch
new file mode 100644
index 00000000..6f34473d
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch
@@ -0,0 +1,54 @@
1From 986bf2ecd7b450dceff5cb0f3f76fe886b58d884 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 25 Sep 2018 12:59:05 -0700
4Subject: [PATCH] elf_reader.cc: include <sys/reg.h> to get __WORDSIZE on musl
5 libc
6
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9 chromium/third_party/breakpad/breakpad/configure.ac | 2 +-
10 .../breakpad/breakpad/src/common/dwarf/elf_reader.cc | 5 ++++-
11 2 files changed, 5 insertions(+), 2 deletions(-)
12
13Index: 3rdparty/chromium/third_party/breakpad/breakpad/configure.ac
14===================================================================
15--- 3rdparty.orig/chromium/third_party/breakpad/breakpad/configure.ac
16+++ 3rdparty/chromium/third_party/breakpad/breakpad/configure.ac
17@@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32,
18 AC_HEADER_STDC
19 AC_SYS_LARGEFILE
20 AX_PTHREAD
21-AC_CHECK_HEADERS([a.out.h sys/random.h])
22+AC_CHECK_HEADERS([a.out.h sys/random.h sys/reg.h])
23 AC_CHECK_FUNCS([arc4random getrandom])
24
25 AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
26Index: 3rdparty/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc
27===================================================================
28--- 3rdparty.orig/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc
29+++ 3rdparty/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc
30@@ -29,10 +29,11 @@
31 #ifndef _GNU_SOURCE
32 #define _GNU_SOURCE // needed for pread()
33 #endif
34-
35+#include <config.h>
36 #include <sys/types.h>
37 #include <sys/stat.h>
38 #include <sys/mman.h>
39+#include <sys/reg.h>
40 #include <unistd.h>
41 #include <fcntl.h>
42 #include <string.h>
43Index: 3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h
44===================================================================
45--- 3rdparty.orig/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h
46+++ 3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h
47@@ -33,6 +33,7 @@
48 #ifndef COMMON_LINUX_ELF_CORE_DUMP_H_
49 #define COMMON_LINUX_ELF_CORE_DUMP_H_
50
51+#include <sys/reg.h>
52 #include <elf.h>
53 #include <link.h>
54 #include <stddef.h>
diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb
index 44d224b1..a4469183 100644
--- a/recipes-qt/qt5/qtwebengine_git.bb
+++ b/recipes-qt/qt5/qtwebengine_git.bb
@@ -170,6 +170,8 @@ SRC_URI_append_libc-musl = "\
170 file://chromium/0013-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \ 170 file://chromium/0013-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \
171 file://chromium/0014-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch;patchdir=src/3rdparty \ 171 file://chromium/0014-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch;patchdir=src/3rdparty \
172 file://chromium/0015-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch;patchdir=src/3rdparty \ 172 file://chromium/0015-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch;patchdir=src/3rdparty \
173 file://chromium/0016-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch;patchdir=src/3rdparty \
174 file://chromium/0017-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch;patchdir=src/3rdparty \
173" 175"
174 176
175SRCREV_qtwebengine = "89afebb830f616a6e8c43dd37bf34551f243b264" 177SRCREV_qtwebengine = "89afebb830f616a6e8c43dd37bf34551f243b264"