From a89e8f91859feab41bf4bb60598c523c1ed4da2e Mon Sep 17 00:00:00 2001 From: slipher Date: Thu, 22 Oct 2026 17:34:40 -0300 Subject: [PATCH 1/4] Remove checked-in exe file --- tools/redirector.exe | Bin 10240 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 tools/redirector.exe diff --git a/tools/redirector.exe b/tools/redirector.exe deleted file mode 100755 index 210cd676f9f34d1a74b0bbce06e3c65bc190d228..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10240 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 From ce1a2d2ccda7314a21c6a0f89163d54684ea0fac Mon Sep 17 00:00:00 2001 From: slipher Date: Mon, 26 Oct 2026 21:31:29 -0300 Subject: [PATCH 2/4] Fix binary size regression with MSVC Reduce sel_ldr.exe from 3.0M to 1.6M by changing linker flags. The old Google release is 1.5M. This commit was generated via LLM. I verified that /DEBUG really is passed in the linker command line for some reason, as per its comment. --- site_scons/site_tools/target_platform_windows.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/site_scons/site_tools/target_platform_windows.py b/site_scons/site_tools/target_platform_windows.py index 22e36d2cf0..4767d5bbf0 100755 --- a/site_scons/site_tools/target_platform_windows.py +++ b/site_scons/site_tools/target_platform_windows.py @@ -402,7 +402,10 @@ def RES(*argv, **karg): ], # Omit the absolute pathname of the .pdb debugging info file # from the executable, and just use a relative pathname. - LINKFLAGS_OPTIMIZED=['/PDBALTPATH:%_PDB%'], + # SCons passes /DEBUG when PDB is set, which defaults to incremental + # linking without dead-code removal, so override that explicitly. + LINKFLAGS_OPTIMIZED=['/PDBALTPATH:%_PDB%', '/INCREMENTAL:NO', '/OPT:REF', + '/OPT:ICF'], # Settings for component_builders COMPONENT_LIBRARY_LINK_SUFFIXES=['.lib'], From 9a9753f51515710ec4c2789790f9b6d4c6899fe6 Mon Sep 17 00:00:00 2001 From: slipher Date: Wed, 28 Oct 2026 17:01:48 -0300 Subject: [PATCH 3/4] scons: log response file temp path only with --verbose --- site_scons/site_tools/naclsdk.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site_scons/site_tools/naclsdk.py b/site_scons/site_tools/naclsdk.py index 1688906392..043edf64ef 100755 --- a/site_scons/site_tools/naclsdk.py +++ b/site_scons/site_tools/naclsdk.py @@ -627,7 +627,7 @@ def quote_for_at_file(s): # user-friendly to not let obsession with architectural # purity get in the way of just being helpful, so we'll # reach into SCons.Action directly. - if SCons.Action.print_actions: + if SCons.Script.ARGUMENTS.get('verbose'): cmdstr = env.subst(self.cmdstr, SCons.Subst.SUBST_RAW, target, source) if self.cmdstr is not None else '' # Print our message only if XXXCOMSTR returns an empty string From bb2cab6431e074e8bb33430d130f3804a68c71ab Mon Sep 17 00:00:00 2001 From: slipher Date: Mon, 26 Oct 2026 22:49:42 -0300 Subject: [PATCH 4/4] MSVC release script --- tools/msvc_release.bat | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tools/msvc_release.bat diff --git a/tools/msvc_release.bat b/tools/msvc_release.bat new file mode 100644 index 0000000000..e12752c04f --- /dev/null +++ b/tools/msvc_release.bat @@ -0,0 +1,41 @@ +@echo off +setlocal + +set RELEASE_VERSION=20261026 + +set JOBS=8 +set SCONS=python3 -m SCons +set ZIP7="C:\Program Files\7-Zip\7z" +set SAIGO_DIR=toolchain\saigosdk-windows-amd64_20260925 + +:: Must set MSYS_DIR on command line. The MinGW distro doesn't really have to be MSYS +:: but this makes it more convenient to set just one variable. +set MINGW_AMD64="%MSYS_DIR%\mingw64" +set MINGW_I686="%MSYS_DIR%\mingw32" + +%MINGW_AMD64%\bin\as --version +%MINGW_I686%\bin\as --version +%ZIP7% +python3 -m pip freeze + +rd /S /Q scons-out release + +git log -1 +git status + +%SCONS% -j%JOBS% --mode=opt-win,nacl_irt saigo_newlib_dir=%SAIGO_DIR% mingw_dir=%MINGW_AMD64% platform=x86-64 saigo=1 --no-clang werror=0 sysinfo=0 sel_ldr irt_core || exit /B +%SCONS% -j%JOBS% --mode=opt-win,nacl_irt saigo_newlib_dir=%SAIGO_DIR% mingw_dir=%MINGW_I686% platform=x86-32 saigo=1 --no-clang werror=0 sysinfo=0 sel_ldr irt_core || exit /B + +mkdir release +cd release + +set TGT64=naclruntime-windows-amd64_%RELEASE_VERSION% +set TGT32=naclruntime-windows-i686_%RELEASE_VERSION% +mkdir %TGT64% +mkdir %TGT32% +copy ..\scons-out\opt-win-x86-64\staging\sel_ldr.exe %TGT64% +copy ..\scons-out\opt-win-x86-32\staging\sel_ldr.exe %TGT32% +copy ..\scons-out\nacl_irt-x86-64\staging\irt_core.nexe %TGT64% +copy ..\scons-out\nacl_irt-x86-32\staging\irt_core.nexe %TGT32% +%ZIP7% a -tzip -mx=9 %TGT64%.zip %TGT64% || exit /B +%ZIP7% a -tzip -mx=9 %TGT32%.zip %TGT32% || exit /B