electron/patches/common/chromium/woa_compiler_workaround.patch
Richard Townsend 3c8acf3687 build: bring in a later compiler for Windows on Arm (#18591)
* build: allow pulling in a later version of Clang

Due to a code-generation defect related to virtual method thunks in the
official compiler used for Chromium M76, it's necessary to build for WoA
with a later version of Clang. When running gclient sync, setting
ELECTRON_BUILD_WOA=1 in the environment will download a corrected
compiler which doesn't have this defect.

* docs: add a note about building for Windows on Arm
2019-06-03 17:29:25 -04:00

37 lines
1.4 KiB
Diff

From b3414d055399d0a21f6166a536467ea752b2aa8a Mon Sep 17 00:00:00 2001
From: Richard Townsend <richard.townsend@arm.com>
Date: Mon, 3 Jun 2019 09:52:49 +0100
Subject: build: pull in a fixed compiler for Windows on Arm
Due to a code-generation defect in the version of Clang used for the M76
branch related to virtual method thunks, it's necessary to build M76
with a later version of Clang. This change pulls in a corrected version
by setting ELECTRON_BUILDING_WOA=1 or similar in the environment.
This PR is only intended to be a temporary workaround and will be
removed when Electron's Chromium updates to a compiler unaffected by
this issue.
---
tools/clang/scripts/update.py | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
index 876fb66d1ac6..69c2688aaf55 100755
--- a/tools/clang/scripts/update.py
+++ b/tools/clang/scripts/update.py
@@ -40,6 +40,12 @@ CLANG_REVISION = '67510fac36d27b2e22c7cd955fc167136b737b93'
CLANG_SVN_REVISION = '361212'
CLANG_SUB_REVISION = 2
+if os.getenv('ELECTRON_BUILDING_WOA'):
+ CLANG_REVISION = '56bee1a90a71876cb5067b108bf5715fa1c4e843'
+ CLANG_SVN_REVISION = '361657'
+ CLANG_SUB_REVISION = 1
+
+
PACKAGE_VERSION = '%s-%s-%s' % (CLANG_SVN_REVISION, CLANG_REVISION[:8],
CLANG_SUB_REVISION)
RELEASE_VERSION = '9.0.0'
--
2.19.1.windows.1