git: aa1bc223b56d - main - lang/v8-beta: Update to 9.7.106.2

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Sun, 21 Nov 2021 18:27:40 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=aa1bc223b56dfe71c0f388d2e965f14ede39a7e0

commit aa1bc223b56dfe71c0f388d2e965f14ede39a7e0
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2021-11-21 18:19:09 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2021-11-21 18:19:09 +0000

    lang/v8-beta: Update to 9.7.106.2
    
    - Use v8 tarball from chromium.googlesource.com since GitHub mirror has been stopped over 25 days
    
    Changes:        https://v8.dev/blog/v8-release-97
                    https://chromium.googlesource.com/v8/v8.git/+log/refs/heads/9.7-lkgr
---
 lang/v8-beta/Makefile                              | 24 +++++++------
 lang/v8-beta/distinfo                              | 34 +++++++++---------
 lang/v8-beta/files/patch-BUILD.gn                  |  8 ++---
 .../files/patch-build_config_BUILDCONFIG.gn        | 10 +++---
 .../files/patch-build_config_compiler_BUILD.gn     | 40 +++++++++++-----------
 .../files/patch-build_config_compiler_compiler.gni |  4 +--
 lang/v8-beta/files/patch-build_config_rust.gni     |  4 +--
 ...atch-build_linux_unbundle_replace__gn__files.py |  4 +--
 .../files/patch-build_toolchain_gcc__toolchain.gni | 20 +++++------
 .../files/patch-build_toolchain_linux_BUILD.gn     | 10 ------
 lang/v8-beta/files/patch-src_api_api.cc            |  4 +--
 lang/v8-beta/files/patch-src_base_cpu.cc           |  6 ++--
 .../patch-src_base_platform_platform-posix.cc      |  6 ++--
 .../v8-beta/files/patch-third__party_zlib_BUILD.gn |  4 +--
 14 files changed, 85 insertions(+), 93 deletions(-)

diff --git a/lang/v8-beta/Makefile b/lang/v8-beta/Makefile
index adea349bf6bb..a0e3fe6e46d8 100644
--- a/lang/v8-beta/Makefile
+++ b/lang/v8-beta/Makefile
@@ -1,11 +1,12 @@
 # We follow the beta channel on https://omahaproxy.appspot.com/
-# https://chromium.googlesource.com/v8/v8/+/refs/heads/9.6-lkgr
+# https://chromium.googlesource.com/v8/v8/+/refs/heads/9.7-lkgr
 
 PORTNAME=	v8
-PORTVERSION=	9.6.180.5
+PORTVERSION=	9.7.106.2
 CATEGORIES=	lang
 MASTER_SITES=	LOCAL/sunpoet/v8/${PORTVERSION:R:R}
-DISTFILES=	build-${BUILD_REV}.tar.gz \
+DISTFILES=	v8-${PORTVERSION}.tar.gz \
+		build-${BUILD_REV}.tar.gz \
 		buildtools-${BUILDTOOLS_REV}.tar.gz \
 		clang-${CLANG_REV}.tar.gz \
 		common-${COMMON_REV}.tar.gz \
@@ -32,23 +33,24 @@ USE_GNOME=	glib20
 
 BINARY_ALIAS=	python3=${PYTHON_CMD}
 MAKE_ARGS=	-C out/Release
+NO_WRKSUBDIR=	yes
 USE_LDCONFIG=	yes
 
 SUB_FILES=	v8.pc v8_libbase.pc v8_libplatform.pc
 
-USE_GITHUB=	yes
+#USE_GITHUB=	yes
 
 CPE_VENDOR=	google
 
 CONFLICTS_INSTALL=	v8
 
-BUILD_REV=	ebad8533842661f66b9b905e0ee9890a32f628d5
-BUILDTOOLS_REV=	a9bc3e283182a586998338a665c7eae17406ec54
-CLANG_REV=	c06edd1f455183fc89e9f8c2cf745db8f564d8ea
-COMMON_REV=	68d816952258c9d817bba656ee2664b35507f01b
-GOOGLETEST_REV=	3b49be074d5c1340eeb447e6a8e78427051e675a
-ICU_REV=	3f443830bd52d3aa5fab3c1aa2b6d0848bb5039d
-ZLIB_REV=	dfa96e81458fb3b39676e45f7e9e000dff789b05
+BUILD_REV=	cf325916d58a194a935c26a56fcf6b525d1e2bf4
+BUILDTOOLS_REV=	80e4f838faaf50e18629ae630df1d421f255a62a
+CLANG_REV=	21baac0e13389b03d6f805701c75544ed0b1ebb0
+COMMON_REV=	7f36dbc19d31e2aad895c60261ca8f726442bfbb
+GOOGLETEST_REV=	16f637fbf4ffc3f7a01fa4eceb7906634565242f
+ICU_REV=	eedbaf76e49d28465d9119b10c30b82906e606ff
+ZLIB_REV=	6da1d53b97c89b07e47714d88cab61f1ce003c68
 
 # Run "gn args --list out/Release" for all variables.
 # Some parts don't have use_system_* flag, and can be turned on/off by using
diff --git a/lang/v8-beta/distinfo b/lang/v8-beta/distinfo
index b0f8cdb397c9..1290716bbe62 100644
--- a/lang/v8-beta/distinfo
+++ b/lang/v8-beta/distinfo
@@ -1,17 +1,17 @@
-TIMESTAMP = 1635730869
-SHA256 (v8/9.6/build-ebad8533842661f66b9b905e0ee9890a32f628d5.tar.gz) = d8e9e21f48b0a88f456d88bb76fe6381ba2d3429c36f371dbabf11f50c704468
-SIZE (v8/9.6/build-ebad8533842661f66b9b905e0ee9890a32f628d5.tar.gz) = 1357606
-SHA256 (v8/9.6/buildtools-a9bc3e283182a586998338a665c7eae17406ec54.tar.gz) = 4aaec99b3c5cc9bf588a5ddd76efdc024276097a9bdddf1364936f9ddcdf7f78
-SIZE (v8/9.6/buildtools-a9bc3e283182a586998338a665c7eae17406ec54.tar.gz) = 86607
-SHA256 (v8/9.6/clang-c06edd1f455183fc89e9f8c2cf745db8f564d8ea.tar.gz) = 1f03b84dad25f4b80fcb137e00be9efc9f0503146103ec4ac6b792df78700aa7
-SIZE (v8/9.6/clang-c06edd1f455183fc89e9f8c2cf745db8f564d8ea.tar.gz) = 288468
-SHA256 (v8/9.6/common-68d816952258c9d817bba656ee2664b35507f01b.tar.gz) = 6d84abfe22276bf1940b617aa8c320ec098d40c7d6dc83978b157836061f5c34
-SIZE (v8/9.6/common-68d816952258c9d817bba656ee2664b35507f01b.tar.gz) = 10624
-SHA256 (v8/9.6/googletest-3b49be074d5c1340eeb447e6a8e78427051e675a.tar.gz) = 75be476046d5135185521ed95a8c03872d6eb1ff3a2d956ee7d0739936492df6
-SIZE (v8/9.6/googletest-3b49be074d5c1340eeb447e6a8e78427051e675a.tar.gz) = 830864
-SHA256 (v8/9.6/icu-3f443830bd52d3aa5fab3c1aa2b6d0848bb5039d.tar.gz) = 033b914dba13dbb5599ab1e21c652d707c3b5d96184c535c6a3dc65f6c0d610b
-SIZE (v8/9.6/icu-3f443830bd52d3aa5fab3c1aa2b6d0848bb5039d.tar.gz) = 43801217
-SHA256 (v8/9.6/zlib-dfa96e81458fb3b39676e45f7e9e000dff789b05.tar.gz) = aefe670a752dd8ac2e6d3e9820cdcb83f660a849750d6da1301bb06be97a2528
-SIZE (v8/9.6/zlib-dfa96e81458fb3b39676e45f7e9e000dff789b05.tar.gz) = 313143
-SHA256 (v8/9.6/v8-v8-9.6.180.5_GH0.tar.gz) = 6fa5963df6af3d10479294bd1194b52fbecc558234ae0dbe6bee21360fb96932
-SIZE (v8/9.6/v8-v8-9.6.180.5_GH0.tar.gz) = 27104492
+TIMESTAMP = 1637072902
+SHA256 (v8/9.7/v8-9.7.106.2.tar.gz) = 425b8eed81390da75f32d6666b81aa102f992830228458361acb370795c7cfea
+SIZE (v8/9.7/v8-9.7.106.2.tar.gz) = 27220975
+SHA256 (v8/9.7/build-cf325916d58a194a935c26a56fcf6b525d1e2bf4.tar.gz) = 41d40b8a5d229207f06df96808c7fb4677f0b6c3352b4d322563bcd9e1af8d2a
+SIZE (v8/9.7/build-cf325916d58a194a935c26a56fcf6b525d1e2bf4.tar.gz) = 1359676
+SHA256 (v8/9.7/buildtools-80e4f838faaf50e18629ae630df1d421f255a62a.tar.gz) = 4744899438381aab671aa9587ebb76a73d176a3bb93726685772c675eaa9c6a3
+SIZE (v8/9.7/buildtools-80e4f838faaf50e18629ae630df1d421f255a62a.tar.gz) = 86765
+SHA256 (v8/9.7/clang-21baac0e13389b03d6f805701c75544ed0b1ebb0.tar.gz) = 6aedadb4fc21499ada70b4fce41343e7ae5c4da41a4d0ab15adc19176569b438
+SIZE (v8/9.7/clang-21baac0e13389b03d6f805701c75544ed0b1ebb0.tar.gz) = 291551
+SHA256 (v8/9.7/common-7f36dbc19d31e2aad895c60261ca8f726442bfbb.tar.gz) = a09d581f42705f5c31a4eae0450e45dd34643ed61db449111dc200d71f7e37c3
+SIZE (v8/9.7/common-7f36dbc19d31e2aad895c60261ca8f726442bfbb.tar.gz) = 10491
+SHA256 (v8/9.7/googletest-16f637fbf4ffc3f7a01fa4eceb7906634565242f.tar.gz) = 8c9ebaaf090de7e2703fcd61e7027a91ab9071ab23a1df95b8d27accba5f088d
+SIZE (v8/9.7/googletest-16f637fbf4ffc3f7a01fa4eceb7906634565242f.tar.gz) = 831669
+SHA256 (v8/9.7/icu-eedbaf76e49d28465d9119b10c30b82906e606ff.tar.gz) = aacf852a7bc1bd2744cb27601b2dcb74fa3505d3eb898de16ec59d027d792def
+SIZE (v8/9.7/icu-eedbaf76e49d28465d9119b10c30b82906e606ff.tar.gz) = 43814466
+SHA256 (v8/9.7/zlib-6da1d53b97c89b07e47714d88cab61f1ce003c68.tar.gz) = 6265faae2e649ddb51fdf59518c08d5cb22b3e552f6cad219f65a26b02ac5474
+SIZE (v8/9.7/zlib-6da1d53b97c89b07e47714d88cab61f1ce003c68.tar.gz) = 313216
diff --git a/lang/v8-beta/files/patch-BUILD.gn b/lang/v8-beta/files/patch-BUILD.gn
index f39f14add820..36393c012109 100644
--- a/lang/v8-beta/files/patch-BUILD.gn
+++ b/lang/v8-beta/files/patch-BUILD.gn
@@ -1,6 +1,6 @@
---- BUILD.gn.orig	2021-10-06 18:22:58 UTC
+--- BUILD.gn.orig	2021-11-15 18:52:12 UTC
 +++ BUILD.gn
-@@ -4804,7 +4804,7 @@ v8_component("v8_libbase") {
+@@ -5090,7 +5090,7 @@ v8_component("v8_libbase") {
      }
    }
  
@@ -9,7 +9,7 @@
      sources += [
        "src/base/debug/stack_trace_posix.cc",
        "src/base/platform/platform-linux.cc",
-@@ -4821,6 +4821,12 @@ v8_component("v8_libbase") {
+@@ -5107,6 +5107,12 @@ v8_component("v8_libbase") {
      ]
  
      libs = [ "dl" ]
@@ -22,7 +22,7 @@
    } else if (is_android) {
      if (current_toolchain == host_toolchain) {
        libs = [
-@@ -5313,6 +5319,7 @@ if (v8_monolithic) {
+@@ -5607,6 +5613,7 @@ if (v8_monolithic) {
        ":v8_libplatform",
        "//build/win:default_exe_manifest",
      ]
diff --git a/lang/v8-beta/files/patch-build_config_BUILDCONFIG.gn b/lang/v8-beta/files/patch-build_config_BUILDCONFIG.gn
index 926e6acaf504..794a898973cd 100644
--- a/lang/v8-beta/files/patch-build_config_BUILDCONFIG.gn
+++ b/lang/v8-beta/files/patch-build_config_BUILDCONFIG.gn
@@ -1,6 +1,6 @@
---- build/config/BUILDCONFIG.gn.orig	2021-05-26 12:26:11 UTC
+--- build/config/BUILDCONFIG.gn.orig	2021-11-15 18:52:18 UTC
 +++ build/config/BUILDCONFIG.gn
-@@ -131,7 +131,7 @@ declare_args() {
+@@ -136,7 +136,7 @@ declare_args() {
    is_official_build = false
  
    # Set to true when compiling with the Clang compiler.
@@ -9,7 +9,7 @@
               (current_cpu != "s390x" && current_cpu != "s390" &&
                current_cpu != "ppc64" && current_cpu != "ppc" &&
                current_cpu != "mips" && current_cpu != "mips64" &&
-@@ -184,8 +184,8 @@ if (host_toolchain == "") {
+@@ -189,8 +189,8 @@ if (host_toolchain == "") {
    # TODO(dpranke): Add some sort of assert here that verifies that
    # no toolchain omitted host_toolchain from its toolchain_args().
  
@@ -20,7 +20,7 @@
        host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
      } else if (is_clang) {
        host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
-@@ -222,7 +222,7 @@ if (target_os == "android") {
+@@ -229,7 +229,7 @@ if (target_os == "android") {
    assert(host_os == "linux" || host_os == "mac",
           "Android builds are only supported on Linux and Mac hosts.")
    _default_toolchain = "//build/toolchain/android:android_clang_$target_cpu"
@@ -29,7 +29,7 @@
    # See comments in build/toolchain/cros/BUILD.gn about board compiles.
    if (is_clang) {
      _default_toolchain = "//build/toolchain/linux:clang_$target_cpu"
-@@ -287,10 +287,11 @@ is_android = current_os == "android"
+@@ -296,10 +296,11 @@ is_android = current_os == "android"
  is_chromeos = current_os == "chromeos"
  is_fuchsia = current_os == "fuchsia"
  is_ios = current_os == "ios"
diff --git a/lang/v8-beta/files/patch-build_config_compiler_BUILD.gn b/lang/v8-beta/files/patch-build_config_compiler_BUILD.gn
index 20c0c04bcf4c..7a1db0920063 100644
--- a/lang/v8-beta/files/patch-build_config_compiler_BUILD.gn
+++ b/lang/v8-beta/files/patch-build_config_compiler_BUILD.gn
@@ -1,4 +1,4 @@
---- build/config/compiler/BUILD.gn.orig	2021-10-20 15:47:54 UTC
+--- build/config/compiler/BUILD.gn.orig	2021-11-15 18:52:18 UTC
 +++ build/config/compiler/BUILD.gn
 @@ -140,7 +140,7 @@ declare_args() {
    #
@@ -9,25 +9,25 @@
  
    # This argument is to control whether enabling text section splitting in the
    # final binary. When enabled, the separated text sections with prefix
-@@ -355,7 +355,7 @@ config("compiler") {
+@@ -361,7 +361,7 @@ config("compiler") {
      }
  
      # Linker warnings.
--    if (fatal_linker_warnings && !is_apple && current_os != "aix") {
-+    if (fatal_linker_warnings && !is_apple && !is_bsd && current_os != "aix") {
+-    if (fatal_linker_warnings && !is_apple && current_os != "aix" &&
++    if (fatal_linker_warnings && !is_apple && !is_bsd && current_os != "aix" &&
+         current_os != "zos") {
        ldflags += [ "-Wl,--fatal-warnings" ]
      }
-     if (fatal_linker_warnings && is_apple) {
-@@ -531,7 +531,7 @@ config("compiler") {
+@@ -539,7 +539,7 @@ config("compiler") {
      ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
    }
  
--  if (is_clang && !is_nacl && !use_xcode_clang) {
-+  if (is_clang && !is_nacl && !use_xcode_clang && !is_bsd) {
+-  if (is_clang && !is_nacl && !use_xcode_clang && current_os != "zos") {
++  if (is_clang && !is_nacl && !use_xcode_clang && !is_bsd && current_os != "zos") {
      cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
  
      # TODO(hans): Remove this once Clang generates better optimized debug info
-@@ -909,7 +909,7 @@ config("compiler_cpu_abi") {
+@@ -910,7 +910,7 @@ config("compiler_cpu_abi") {
          cflags += [ "-mtune=$arm_tune" ]
        }
      } else if (current_cpu == "arm64") {
@@ -36,7 +36,7 @@
          cflags += [ "--target=aarch64-linux-gnu" ]
          ldflags += [ "--target=aarch64-linux-gnu" ]
        }
-@@ -1253,7 +1253,7 @@ config("compiler_deterministic") {
+@@ -1254,7 +1254,7 @@ config("compiler_deterministic") {
      # different build directory like "out/feature_a" and "out/feature_b" if
      # we build same files with same compile flag.
      # Other paths are already given in relative, no need to normalize them.
@@ -45,7 +45,7 @@
        # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
        cflags += [
          "-Xclang",
-@@ -1266,7 +1266,7 @@ config("compiler_deterministic") {
+@@ -1267,7 +1267,7 @@ config("compiler_deterministic") {
        # and -fcoverage-compilation-dir=.
        cflags += [ "-ffile-compilation-dir=." ]
      }
@@ -54,7 +54,7 @@
        # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
        asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
      }
-@@ -1650,7 +1650,7 @@ config("default_warnings") {
+@@ -1515,7 +1515,7 @@ config("default_warnings") {
          cflags += [ "-Wno-null-pointer-subtraction" ]
        }
  
@@ -63,7 +63,7 @@
          # Flags Xcode 9.2 (Clang clang-900.0.39.2) does not recognize.
          cflags += [
            "-Wenum-compare-conditional",
-@@ -1904,7 +1904,7 @@ config("thin_archive") {
+@@ -1763,7 +1763,7 @@ config("thin_archive") {
    # archives.
    # TODO(crbug.com/1221615): Enable on is_apple if use_lld once that no longer
    # confuses lldb.
@@ -72,28 +72,28 @@
      arflags = [ "-T" ]
    } else if (is_win && use_lld) {
      arflags = [ "/llvmlibthin" ]
-@@ -2404,7 +2404,7 @@ config("symbols") {
+@@ -2263,7 +2263,7 @@ config("symbols") {
      # flag, so we can use use -g1 for pnacl and nacl-clang compiles.
      # gcc nacl is is_nacl && !is_clang, pnacl and nacl-clang are && is_clang.
-     if (!is_nacl || is_clang) {
+     if ((!is_nacl || is_clang) && current_os != "zos") {
 -      cflags += [ "-g2" ]
 +      cflags += [ "-g0" ]
      }
  
-     if (!is_nacl && is_clang && !is_tsan && !is_asan) {
-@@ -2439,7 +2439,7 @@ config("symbols") {
+     # Since only one of the build options -gdwarf-aranges and -fembed-bitcode
+@@ -2303,7 +2303,7 @@ config("symbols") {
      # DWARF info may be corrupt; offsets in a range list entry are in different
      # sections" there.  Maybe just a bug in nacl_switch_32.S.
-     if (!is_apple && !is_nacl && current_cpu != "x86" &&
+     if (!is_apple && !is_nacl && current_cpu != "x86" && current_os != "zos" &&
 -        (use_gold || use_lld)) {
 +        (use_gold || use_lld) && !is_bsd) {
        if (is_clang) {
          # This flag enables the GNU-format pubnames and pubtypes sections,
          # which lld needs in order to generate a correct GDB index.
-@@ -2452,7 +2452,7 @@ config("symbols") {
+@@ -2316,7 +2316,7 @@ config("symbols") {
    }
  
-   if (is_clang && !is_nacl && !use_xcode_clang) {
+   if (is_clang && !is_nacl && !use_xcode_clang && current_os != "zos") {
 -    if (is_apple) {
 +    if (is_apple || is_bsd) {
        # TODO(https://crbug.com/1050118): Investigate missing debug info on mac.
diff --git a/lang/v8-beta/files/patch-build_config_compiler_compiler.gni b/lang/v8-beta/files/patch-build_config_compiler_compiler.gni
index b40ee50f0b69..539bd8abd7e2 100644
--- a/lang/v8-beta/files/patch-build_config_compiler_compiler.gni
+++ b/lang/v8-beta/files/patch-build_config_compiler_compiler.gni
@@ -1,6 +1,6 @@
---- build/config/compiler/compiler.gni.orig	2021-10-13 07:49:03 UTC
+--- build/config/compiler/compiler.gni.orig	2021-11-15 18:52:18 UTC
 +++ build/config/compiler/compiler.gni
-@@ -205,7 +205,7 @@ declare_args() {
+@@ -219,7 +219,7 @@ declare_args() {
  
  declare_args() {
    # Whether to use the gold linker from binutils instead of lld or bfd.
diff --git a/lang/v8-beta/files/patch-build_config_rust.gni b/lang/v8-beta/files/patch-build_config_rust.gni
index b272ec620862..c0b328a03ad6 100644
--- a/lang/v8-beta/files/patch-build_config_rust.gni
+++ b/lang/v8-beta/files/patch-build_config_rust.gni
@@ -1,6 +1,6 @@
---- build/config/rust.gni.orig	2021-10-20 15:47:54 UTC
+--- build/config/rust.gni.orig	2021-11-15 18:52:18 UTC
 +++ build/config/rust.gni
-@@ -58,7 +58,7 @@ toolchain_has_official_rust =
+@@ -67,7 +67,7 @@ toolchain_has_official_rust =
      (!is_nacl &&
       (is_android && (current_cpu == "arm" || current_cpu == "arm64" ||
                       current_cpu == "x64" || current_cpu == "x86"))) ||
diff --git a/lang/v8-beta/files/patch-build_linux_unbundle_replace__gn__files.py b/lang/v8-beta/files/patch-build_linux_unbundle_replace__gn__files.py
index ca2d4fd5e12e..52bbcf7255f5 100644
--- a/lang/v8-beta/files/patch-build_linux_unbundle_replace__gn__files.py
+++ b/lang/v8-beta/files/patch-build_linux_unbundle_replace__gn__files.py
@@ -1,6 +1,6 @@
---- build/linux/unbundle/replace_gn_files.py.orig	2019-03-11 22:00:52 UTC
+--- build/linux/unbundle/replace_gn_files.py.orig	2021-11-15 18:52:18 UTC
 +++ build/linux/unbundle/replace_gn_files.py
-@@ -27,6 +27,7 @@ REPLACEMENTS = {
+@@ -25,6 +25,7 @@ REPLACEMENTS = {
    'libevent': 'base/third_party/libevent/BUILD.gn',
    'libjpeg': 'third_party/libjpeg.gni',
    'libpng': 'third_party/libpng/BUILD.gn',
diff --git a/lang/v8-beta/files/patch-build_toolchain_gcc__toolchain.gni b/lang/v8-beta/files/patch-build_toolchain_gcc__toolchain.gni
index 528964d2bc7d..9b0f2527ee02 100644
--- a/lang/v8-beta/files/patch-build_toolchain_gcc__toolchain.gni
+++ b/lang/v8-beta/files/patch-build_toolchain_gcc__toolchain.gni
@@ -1,6 +1,6 @@
---- build/toolchain/gcc_toolchain.gni.orig	2021-10-13 07:49:03 UTC
+--- build/toolchain/gcc_toolchain.gni.orig	2021-11-15 18:52:18 UTC
 +++ build/toolchain/gcc_toolchain.gni
-@@ -48,6 +48,11 @@ if (enable_resource_allowlist_generation) {
+@@ -49,6 +49,11 @@ if (enable_resource_allowlist_generation) {
        "enable_resource_allowlist_generation=true does not work for target_os=$target_os")
  }
  
@@ -12,15 +12,15 @@
  # This template defines a toolchain for something that works like gcc
  # (including clang).
  #
-@@ -673,13 +678,23 @@ template("clang_toolchain") {
-   }
- 
+@@ -731,13 +736,23 @@ template("gcc_toolchain") {
+ # use_gold too.
+ template("clang_toolchain") {
    gcc_toolchain(target_name) {
 -    prefix = rebase_path("$clang_base_path/bin", root_build_dir)
--    cc = "$prefix/clang"
--    cxx = "$prefix/clang++"
+-    cc = "${prefix}/clang"
+-    cxx = "${prefix}/clang++"
 -    ld = cxx
--    readelf = "${toolprefix}readelf"
+-    readelf = "${prefix}/llvm-readelf"
 -    ar = "${prefix}/llvm-ar"
 -    nm = "${prefix}/llvm-nm"
 +    if (is_bsd) {
@@ -28,7 +28,7 @@
 +      cc = "cc"
 +      cxx = "c++"
 +      ld = cxx
-+      readelf = "${toolprefix}readelf"
++      readelf = "${prefix}/readelf"
 +      ar = "${prefix}/ar"
 +      nm = "${prefix}/nm"
 +    } else {
@@ -36,7 +36,7 @@
 +      cc = "$prefix/clang"
 +      cxx = "$prefix/clang++"
 +      ld = cxx
-+      readelf = "${toolprefix}readelf"
++      readelf = "${prefix}/readelf"
 +      ar = "${prefix}/llvm-ar"
 +      nm = "${prefix}/llvm-nm"
 +    }
diff --git a/lang/v8-beta/files/patch-build_toolchain_linux_BUILD.gn b/lang/v8-beta/files/patch-build_toolchain_linux_BUILD.gn
deleted file mode 100644
index 08d5cf924d40..000000000000
--- a/lang/v8-beta/files/patch-build_toolchain_linux_BUILD.gn
+++ /dev/null
@@ -1,10 +0,0 @@
---- build/toolchain/linux/BUILD.gn.orig	2021-05-01 21:15:31 UTC
-+++ build/toolchain/linux/BUILD.gn
-@@ -23,7 +23,6 @@ clang_toolchain("clang_arm") {
- }
- 
- clang_toolchain("clang_arm64") {
--  toolprefix = "aarch64-linux-gnu-"
-   toolchain_args = {
-     current_cpu = "arm64"
-     current_os = "linux"
diff --git a/lang/v8-beta/files/patch-src_api_api.cc b/lang/v8-beta/files/patch-src_api_api.cc
index 056c643b5194..b358824563e8 100644
--- a/lang/v8-beta/files/patch-src_api_api.cc
+++ b/lang/v8-beta/files/patch-src_api_api.cc
@@ -1,6 +1,6 @@
---- src/api/api.cc.orig	2021-10-06 18:22:58 UTC
+--- src/api/api.cc.orig	2021-11-15 18:52:12 UTC
 +++ src/api/api.cc
-@@ -5886,7 +5886,7 @@ bool v8::V8::Initialize(const int build_config) {
+@@ -6054,7 +6054,7 @@ bool v8::V8::Initialize(const int build_config) {
    return true;
  }
  
diff --git a/lang/v8-beta/files/patch-src_base_cpu.cc b/lang/v8-beta/files/patch-src_base_cpu.cc
index edded0adef06..21d3d4fb596d 100644
--- a/lang/v8-beta/files/patch-src_base_cpu.cc
+++ b/lang/v8-beta/files/patch-src_base_cpu.cc
@@ -1,6 +1,6 @@
---- src/base/cpu.cc.orig	2021-10-06 18:22:58 UTC
+--- src/base/cpu.cc.orig	2021-11-15 18:52:12 UTC
 +++ src/base/cpu.cc
-@@ -568,6 +568,7 @@ CPU::CPU()
+@@ -575,6 +575,7 @@ CPU::CPU()
  
  #if V8_OS_LINUX
  
@@ -8,7 +8,7 @@
    CPUInfo cpu_info;
  
    // Extract implementor from the "CPU implementer" field.
-@@ -601,6 +602,7 @@ CPU::CPU()
+@@ -608,6 +609,7 @@ CPU::CPU()
      }
      delete[] part;
    }
diff --git a/lang/v8-beta/files/patch-src_base_platform_platform-posix.cc b/lang/v8-beta/files/patch-src_base_platform_platform-posix.cc
index df2cb6eb4180..df78a73520f0 100644
--- a/lang/v8-beta/files/patch-src_base_platform_platform-posix.cc
+++ b/lang/v8-beta/files/patch-src_base_platform_platform-posix.cc
@@ -1,6 +1,6 @@
---- src/base/platform/platform-posix.cc.orig	2021-10-06 18:22:58 UTC
+--- src/base/platform/platform-posix.cc.orig	2021-11-15 18:52:12 UTC
 +++ src/base/platform/platform-posix.cc
-@@ -493,7 +493,7 @@ bool OS::DiscardSystemPages(void* address, size_t size
+@@ -511,7 +511,7 @@ bool OS::DecommitPages(void* address, size_t size) {
  
  // static
  bool OS::HasLazyCommits() {
@@ -9,7 +9,7 @@
    return true;
  #else
    // TODO(bbudge) Return true for all POSIX platforms.
-@@ -626,6 +626,12 @@ int OS::GetCurrentThreadId() {
+@@ -650,6 +650,12 @@ int OS::GetCurrentThreadId() {
    return static_cast<int>(syscall(__NR_gettid));
  #elif V8_OS_ANDROID
    return static_cast<int>(gettid());
diff --git a/lang/v8-beta/files/patch-third__party_zlib_BUILD.gn b/lang/v8-beta/files/patch-third__party_zlib_BUILD.gn
index 39aca73d5377..4dec42065cb0 100644
--- a/lang/v8-beta/files/patch-third__party_zlib_BUILD.gn
+++ b/lang/v8-beta/files/patch-third__party_zlib_BUILD.gn
@@ -1,6 +1,6 @@
---- third_party/zlib/BUILD.gn.orig	2020-11-16 14:31:04 UTC
+--- third_party/zlib/BUILD.gn.orig	2021-11-15 18:52:29 UTC
 +++ third_party/zlib/BUILD.gn
-@@ -108,6 +108,8 @@ if (use_arm_neon_optimizations) {
+@@ -119,6 +119,8 @@ if (use_arm_neon_optimizations) {
        defines = [ "CRC32_ARMV8_CRC32" ]
        if (is_android) {
          defines += [ "ARMV8_OS_ANDROID" ]