From 2566901506febcc3db96249987da7366b5d01ec1 Mon Sep 17 00:00:00 2001 From: Keeyou Date: Mon, 4 Dec 2023 09:57:01 +0800 Subject: [PATCH 1/2] bump libc++ to match chromium 121.0.6164.1 --- third_party/libc++/CMakeLists.txt | 2 +- third_party/libc++/trunk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/third_party/libc++/CMakeLists.txt b/third_party/libc++/CMakeLists.txt index ba60e2e85..cf17819e5 100644 --- a/third_party/libc++/CMakeLists.txt +++ b/third_party/libc++/CMakeLists.txt @@ -76,7 +76,7 @@ foreach(CompilerFlag ${CompilerFlags}) string(REPLACE "-stdlib=libc++" "" ${CompilerFlag} "${${CompilerFlag}}") endforeach() -set(libcxx_CR "84fb809dd6dae36d556dc0bb702c6cc2ce9d4b80") +set(libcxx_CR "dba32e9eac193da3ced542421017c5a0de5ef1f6") # Fixed libc++ configuration macros are in # buildtools/third_party/libc++/__config_site. This config only has defines # that vary depending on gn args, and non-define flags. diff --git a/third_party/libc++/trunk b/third_party/libc++/trunk index 13c08122f..dba32e9ea 160000 --- a/third_party/libc++/trunk +++ b/third_party/libc++/trunk @@ -1 +1 @@ -Subproject commit 13c08122f7700c681d16a493071c6b69ee1d5a12 +Subproject commit dba32e9eac193da3ced542421017c5a0de5ef1f6 From c5d9e6a2bce9f5f31fd24adecdb8dcc545528017 Mon Sep 17 00:00:00 2001 From: Keeyou Date: Mon, 4 Dec 2023 10:28:21 +0800 Subject: [PATCH 2/2] crashpad: support linux armhf/mipsel/mips64el --- scripts/build-crashpad.sh | 3 +++ scripts/crashpad_mips.patch | 28 ++++++++++++++++++++++++++++ scripts/mini_chromium.BUILD.gn | 6 ++++++ 3 files changed, 37 insertions(+) create mode 100644 scripts/crashpad_mips.patch diff --git a/scripts/build-crashpad.sh b/scripts/build-crashpad.sh index d379784f3..c97e1f53b 100755 --- a/scripts/build-crashpad.sh +++ b/scripts/build-crashpad.sh @@ -107,6 +107,7 @@ cd crashpad fetch --nohistory crashpad || true cd crashpad git checkout -f 5613499bbda780dfa663344ea6253844e82c88c4 +git reset --hard gclient sync -f # patch stage @@ -121,6 +122,8 @@ esac cp -f ../../../scripts/mini_chromium.BUILD.gn third_party/mini_chromium/mini_chromium/build/config/BUILD.gn $sed 's|__hlt(0)|asm volatile("hlt #0")|g' third_party/mini_chromium/mini_chromium/base/logging.cc +patch -p1 < ../../../scripts/crashpad_mips.patch + # build stage rm -rf "$out" mkdir -p "$out" diff --git a/scripts/crashpad_mips.patch b/scripts/crashpad_mips.patch new file mode 100644 index 000000000..50c07deca --- /dev/null +++ b/scripts/crashpad_mips.patch @@ -0,0 +1,28 @@ +diff --git a/snapshot/linux/cpu_context_linux.h b/snapshot/linux/cpu_context_linux.h +index 507d1b44..d901ef9d 100644 +--- a/snapshot/linux/cpu_context_linux.h ++++ b/snapshot/linux/cpu_context_linux.h +@@ -20,6 +20,8 @@ + #include "snapshot/linux/signal_context.h" + #include "util/linux/thread_info.h" + ++#include ++ + namespace crashpad { + namespace internal { + +diff --git a/util/net/http_transport_libcurl.cc b/util/net/http_transport_libcurl.cc +index df63a772..0d2abfa3 100644 +--- a/util/net/http_transport_libcurl.cc ++++ b/util/net/http_transport_libcurl.cc +@@ -239,6 +239,10 @@ std::string UserAgent() { + #endif + #elif defined (ARCH_CPU_RISCV64) + static constexpr char arch[] = "riscv64"; ++#elif defined (ARCH_CPU_MIPSEL) ++ static constexpr char arch[] = "mipsel"; ++#elif defined (ARCH_CPU_MIPS64EL) ++ static constexpr char arch[] = "mips64el"; + #else + #error Port + #endif diff --git a/scripts/mini_chromium.BUILD.gn b/scripts/mini_chromium.BUILD.gn index 2bba925ec..6f1735d4c 100644 --- a/scripts/mini_chromium.BUILD.gn +++ b/scripts/mini_chromium.BUILD.gn @@ -286,6 +286,12 @@ config("default") { common_flags += [ "-m64" ] } else if (current_cpu == "arm64") { common_flags += [ "--target=aarch64-linux-gnu" ] + } else if (current_cpu == "armhf") { + common_flags += [ "--target=arm-linux-gnueabihf" ] + } else if (current_cpu == "mipsel") { + common_flags += [ "--target=mipsel-linux-gnu" ] + } else if (current_cpu == "mips64el") { + common_flags += [ "--target=mips64el-linux-gnuabi64" ] } else if (current_cpu == "riscv64") { common_flags += [ "--target=riscv64-linux-gnu" ] } else {