diff options
author | Khem Raj <raj.khem@gmail.com> | 2018-09-25 14:10:03 -0700 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2018-09-25 23:34:28 +0000 |
commit | 1ed9bcb1751df5e61f558bcb9172308de182fb3e (patch) | |
tree | 297623788fa086e3f410a58ea192cd80c225467d /recipes-qt/qt5/qtwebengine | |
parent | 24d6fc29ab806daadb5e4aa93b768b3cc76c2fc4 (diff) | |
download | meta-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>
Diffstat (limited to 'recipes-qt/qt5/qtwebengine')
2 files changed, 119 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 @@ | |||
1 | From cd92f771ac37ae41d7a1abfd6fcc9d50aa7529d8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 25 Sep 2018 12:35:07 -0700 | ||
4 | Subject: [PATCH] Use _fpstate instead of _libc_fpstate on linux | ||
5 | |||
6 | glibc defines both. musl libc only the former. | ||
7 | |||
8 | Signed-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 | |||
15 | diff --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 | ||
16 | index 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; | ||
37 | diff --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 | ||
38 | index 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); | ||
50 | diff --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 | ||
51 | index 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 | -- | ||
64 | 2.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 @@ | |||
1 | From 986bf2ecd7b450dceff5cb0f3f76fe886b58d884 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 25 Sep 2018 12:59:05 -0700 | ||
4 | Subject: [PATCH] elf_reader.cc: include <sys/reg.h> to get __WORDSIZE on musl | ||
5 | libc | ||
6 | |||
7 | Signed-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 | |||
13 | Index: 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) | ||
26 | Index: 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> | ||
43 | Index: 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> | ||