How to build Windows 64 bit version of the tools?

Asked by TM on 2018-01-24

I've had a look at the build instructions bundled with the source tarball but I'm unclear if/how it's possible to build a 64 bit version of the tools for Windows.
Anybody got any advice/tips?
Do the build scripts need to be modified or passed something to get them to build Win64 rather than Win32 binaries?

Thanks a lot.

Question information

Language:
English Edit question
Status:
Solved
For:
GNU Arm Embedded Toolchain Edit question
Assignee:
No assignee Edit question
Solved by:
TM
Solved:
2018-01-25
Last query:
2018-01-25
Last reply:
2018-01-25
Tejas Belagod (belagod-tejas) said : #2

Hi,

We don't build a 64-bit Windows version of the toolchain yet. I suspect you would need to start with replacing i686-w64-mingw32-gcc with x86_64-w64-mingw32-gcc and then take it from there.

Thanks,
Tejas.

Tejas Belagod (belagod-tejas) said : #3

Or you could have a look at the patch Leo has pointed to in the first message. :-)

TM (tm1234) said : #4

Leo - thanks a lot for that link - the information that it contains is very useful. Appreciate it.
Thanks also Tejas for taking the time to reply.
It seems strange that 64 bit binaries are provided for Linux but only 32 bit binaries are provided for Windows.
I wonder what the reasoning behind that is?

Tejas Belagod (belagod-tejas) said : #5

TM,

No specific reason. So far the demand for 64-bit Windows binaries have been sparse. Going forward, it looks like there is going to be an increasing demand for it.

Rest assured we are working on it and you will hopefully see Win-64 binaries added to the list of downloadables in the near future. We will keep you posted.

Thanks,
Tejas.

TM (tm1234) said : #6

OK - thanks a lot Tejas.

Scott Willis (mr.scott) said : #7

We could use 64-bit Windows binaries as well, assuming we could expect faster builds.

David Brown (davidbrown) said : #8

64-bit binaries on Windows will not be noticeably faster than 32-bit binaries - they may even be slower. On Linux, 64-bit binaries are usually faster than 32-bit binaries. (This has to do with differences in calling conventions on the different platform variations, as well as the types of translations needed in library calls and system calls.)

And 64-bit has been the standard for quite a bit longer in Linux than in Windows.

64-bit binaries are only really useful if you need a lot of memory, and for a toolchain you only start to see a benefit if you are doing link-time optimisation of large C++ programs.