Right, x86_64 needs some changes also for the GNU toolchain. Let me link our full build script: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/blob/main/projects/nsis/build Stuff between [% %] are template tags that won't be in the final script, but the file should be understandable otherwise.
Hi, eventually I managed to solve my assembler problems by adding GNU binutils to $PATH. Plus there are a couple of changes to do before being able to build with Clang: sed -i 's/-Wl,--exclude-libs,msvcrt.a/-Wl,-Xlink=-fixed/' SCons/Config/gnu sed -i '2i extern "C"' SCons/Config/{memcpy,memset}.c these lines come from Firefox's source code, check build-mingw32-nsis.sh there. Currently, for Tor Browser, Mullvad Browser and Ricochet Refresh (they share part of the build system) we use Clang to build...
System/Resource.dll does not follow SOURCE_DATE_EPOCH
Oh, okay, thanks! We will try it!
Use --no-insert-timestamp to make builds reproducible
Need to patch m_target_type in build.cpp for amd64
Support mingw/clang
Hi! I have found this bug because we cross compile NSIS, and users with mandatory ASLR could not use our installers (they got error code 0xc000007b). I wanted to report back that adding stub_env.Append(LINKFLAGS = ['-Wl,--disable-reloc-section']) solves the problem for us! (We are using binutils 2.39). Thanks!