Skip to content

Commit

Permalink
Finish switching to NASM.
Browse files Browse the repository at this point in the history
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 <[email protected]>
Commit-Queue: David Benjamin <[email protected]>
  • Loading branch information
davidben authored and CQ bot account: [email protected] committed Dec 11, 2020
1 parent a3a9894 commit a929e32
Show file tree
Hide file tree
Showing 7 changed files with 1 addition and 39 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,3 @@ util/bot/sde-linux64.tar.bz2
util/bot/sde-win32
util/bot/sde-win32.tar.bz2
util/bot/win_toolchain.json
util/bot/yasm-win32.exe
8 changes: 0 additions & 8 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,14 +157,6 @@ BoringSSL maintainers if making use of it.

## 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.
Expand Down
2 changes: 1 addition & 1 deletion crypto/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ if(NOT OPENSSL_NO_ASM)
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()
Expand Down
8 changes: 0 additions & 8 deletions crypto/perlasm/x86nasm.pl
Original file line number Diff line number Diff line change
Expand Up @@ -90,15 +90,7 @@ sub ::file
%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
Expand Down
12 changes: 0 additions & 12 deletions util/bot/DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -152,18 +152,6 @@ hooks = [
'boringssl/util/bot/perl-win32/',
],
},
{
'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': '.',
Expand Down
8 changes: 0 additions & 8 deletions util/bot/UPDATING
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,6 @@ perl-win32.zip: Update to the latest 64-bit prebuilt "Portable" edition of

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,
Expand Down
1 change: 0 additions & 1 deletion util/bot/yasm-win32.exe.sha1

This file was deleted.

0 comments on commit a929e32

Please sign in to comment.