PSA: Switching to 64-bit toolchain binaries

126 views
Skip to first unread message

Derek Schuff

unread,
Sep 15, 2014, 4:18:19 PM9/15/14
to native-cli...@googlegroups.com
Hi all,
Today the NaCl SDK uses 32-bit (i686) builds of all the toolchain components (compiler, linker, archiver, etc) on Linux and Windows. This was done to be compatible with the maximum number of systems; any x86_64 system can also run i686 binaries. However, most (nearly all as far as we can tell) developers actually use x86_64 OSes, and most Linux distributions now recommend 64-bit images by default. As we periodically see on this mailing list, those systems require some non-default packages to run 32-bit binaries, and it's not always obvious to users how to get what they need.

So I'm thinking of switching to a 64-bit build, but I want to know if there are developers out there for whom this would be a big problem. So please speak up!

A few notes:
* This refers only to the type of system on which the compiler runs; you would still be able to target i686, x86_64 and arm NaCl using the same toolchains.
* I'm mostly thinking of PNaCl first, but everything I've said also applies to the nacl-gcc compilers. So please do speak up even if you don't use PNaCl/clang today.
* I'm mostly thinking of Linux first, but some of what I've said could also apply to Windows. Windows is better in that it has better compatibility to run 32-bit programs out of the box, so it's less of a problem today. But switching would probably still give users a better experience. So please also speak up if you build your NaCl programs on 32-bit Windows systems.
* None of this applies to Mac; we've been shipping 64-bit binaries on Mac ever since PNaCl launched.

Thanks,
-Derek

Andrey Khalyavin

unread,
Sep 16, 2014, 1:37:27 PM9/16/14
to native-cli...@googlegroups.com, dsc...@google.com
64-bit cygwin is still pretty new. I don't think we should switch to it.

-- Andrey Khalyavin

Derek Schuff

unread,
Sep 16, 2014, 1:44:30 PM9/16/14
to Andrey Khalyavin, native-cli...@googlegroups.com
Well, we are using mingw-w64 now and not cygwin anymore. 64-bit is much more mature on that toolchain. I'm also considering trying to use MSVC, which would mean some ugly hacks to the build for the gold bitcode linking plugin, but might be worthwhile anyway.
Reply all
Reply to author
Forward
0 new messages