Finish switching to NASM.

As of
https://chromium-review.googlesource.com/c/chromium/tools/build/+/2586225,
we no longer test on Yasm. Yasm hasn't seen a release for over six years
now and is missing support for newer x86 instructions.

This removes the remnants of support for Yasm on the CI. It also removes
the Yasm support we patched into x86nasm.pl, which removes a now
unnecessary divergence from upstream.

Update-Note: If a x86 Windows asm build breaks, switch from Yasm to
NASM. We're also no longer testing NASM on x86_64 Windows, but there
wasn't any patch to revert.

Change-Id: I016bad8757fcc13240db9f56dd622be518e649d7
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/44564
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
diff --git a/.gitignore b/.gitignore
index 83a64740..07d8083 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,4 +28,3 @@
 util/bot/sde-win32
 util/bot/sde-win32.tar.bz2
 util/bot/win_toolchain.json
-util/bot/yasm-win32.exe
diff --git a/BUILDING.md b/BUILDING.md
index e3a3570..2d156ec 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -157,14 +157,6 @@
 
 ## Known Limitations on Windows
 
-  * Versions of CMake since 3.0.2 have a bug in its Ninja generator that causes
-    yasm to output warnings
-
-        yasm: warning: can open only one input file, only the last file will be processed
-
-    These warnings can be safely ignored. The cmake bug is
-    http://www.cmake.org/Bug/view.php?id=15253.
-
   * CMake can generate Visual Studio projects, but the generated project files
     don't have steps for assembling the assembly language source files, so they
     currently cannot be used to build BoringSSL.
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt
index 8368a21..108887c 100644
--- a/crypto/CMakeLists.txt
+++ b/crypto/CMakeLists.txt
@@ -55,7 +55,7 @@
     endif()
     set(CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS} -gcv8")
 
-    # On Windows, we use the NASM output, specifically built with Yasm.
+    # On Windows, we use the NASM output.
     set(ASM_EXT asm)
     enable_language(ASM_NASM)
   endif()
diff --git a/crypto/perlasm/x86nasm.pl b/crypto/perlasm/x86nasm.pl
index 7bb3347..454f3cf 100644
--- a/crypto/perlasm/x86nasm.pl
+++ b/crypto/perlasm/x86nasm.pl
@@ -90,15 +90,7 @@
 %ifidn __OUTPUT_FORMAT__,obj
 section	code	use32 class=code align=64
 %elifidn __OUTPUT_FORMAT__,win32
-%ifdef __YASM_VERSION_ID__
-%if __YASM_VERSION_ID__ < 01010000h
-%error yasm version 1.1.0 or later needed.
-%endif
-; Yasm automatically includes @feat.00 and complains about redefining it.
-; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html
-%else
 \$\@feat.00 equ 1
-%endif
 section	.text	code align=64
 %else
 section	.text	code
diff --git a/util/bot/DEPS b/util/bot/DEPS
index 8544fe9..c87de22 100644
--- a/util/bot/DEPS
+++ b/util/bot/DEPS
@@ -153,18 +153,6 @@
     ],
   },
   {
-    'name': 'yasm_win32',
-    'pattern': '.',
-    'condition': 'host_os == "win" and not checkout_nasm',
-    'action': [ 'download_from_google_storage',
-                '--no_resume',
-                '--platform=win32',
-                '--no_auth',
-                '--bucket', 'chromium-tools',
-                '-s', 'boringssl/util/bot/yasm-win32.exe.sha1',
-    ],
-  },
-  {
     'name': 'nasm_win32',
     'pattern': '.',
     'condition': 'host_os == "win" and checkout_nasm',
diff --git a/util/bot/UPDATING b/util/bot/UPDATING
index aa636e8..9ea123b 100644
--- a/util/bot/UPDATING
+++ b/util/bot/UPDATING
@@ -64,14 +64,6 @@
 
     The current revision is strawberry-perl-5.26.2.1-64bit-portable.zip.
 
-yasm-win32.exe: Update to the appropriate release of Yasm. Use the same version
-    as Chromium, found at
-    https://chromium.googlesource.com/chromium/src/+/master/third_party/yasm/README.chromium
-    Use the release at http://yasm.tortall.net/Download.html labeled
-    "Win32 .exe". The download will be named yasm-VERSION-win32.exe.
-
-    The current revision is yasm-1.3.0-win32.exe.
-
 Finally, update sde-linux64.tar.bz2 and sde-win32.tar.bz2 by downloading the
 latet release from Intel at
 https://software.intel.com/en-us/articles/intel-software-development-emulator,
diff --git a/util/bot/yasm-win32.exe.sha1 b/util/bot/yasm-win32.exe.sha1
deleted file mode 100644
index 542a6c9..0000000
--- a/util/bot/yasm-win32.exe.sha1
+++ /dev/null
@@ -1 +0,0 @@
-8374a6a1d6a240a3baa771ffd61b3bc096ccd11f
\ No newline at end of file