[tor-dev] building from source in a 64-bit windows environment..
blibbet at gmail.com
Sat May 18 03:04:09 UTC 2013
> It seems fairly self-evident that tor hasn't been build for 64-bit
> windows and questionable whether it's ever been built in an
> environment that doesn't utilize mingw. [...]
AFAIK, Tor has only been compiled as a Win32 app, never as a Win64 app.
> I realize that many/most/all of the developers here are going to see
> no problem with using mingw, but if you spend some time looking
> underneath the hood and reviewing the code generated by mingw v. msvc
> both in terms of security features and general performance, [...]
In the past, most of the time, Tor only builds on Windows with
GCC/MinGW. But recently,
Tor works primarily on Windows via MinGW toolchain, AFAIK still MinGW32.
It has worked a few times in the past, in the last few weeks, another
update was made for MSVC (Win32), and hopefully that still works with trunk.
Re: security, Tor has most of the modern exe image flags properly
tweaked with GCC toolchain. But not with MSVC toolchain. IMO, that'd be
a nice patch, for MSVC build. But not too serious since Tor doesn't ship
any MSVC-based distros, only GCC-based ones, as public binaries.
I think the issue is not MSVC -vs- GCC, but Win32 -vs- Win64, if they're
willing to take all those kinds of patches.
And the additional burden for them to distribute 2* the Windows
packages, both Win32 and Win64.
It *might* be an issue that Thandy is also probably only Win32, and
might also need to be ported, when updating the WIX/NSIS installer
scripts (Thandy gets called from within some of those scripts).
On the positive side, it seems like many Win32 projects get about 15%
faster (when run on NT64 systems, removing the overhead of the Win32
subsystem) ..at least looking at use of MSVC toolchain, unclear about
MinGW64 toolchain. So there's a chance that these patches would mean
Windows Tor perf could get 15% better on modern (NT64-based: all
servers, most desktops, and some mobile devices) Windows boxen. :-)
More information about the tor-dev