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 | |
| 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>
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 @@ | |||
| 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> | ||
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 | ||
| 175 | SRCREV_qtwebengine = "89afebb830f616a6e8c43dd37bf34551f243b264" | 177 | SRCREV_qtwebengine = "89afebb830f616a6e8c43dd37bf34551f243b264" |
