This is the canonical place to get the GNU GCC toolchain for ARM Embedded. For detailed info, see https://developer.arm.com/open-source/gnu-toolchain. Installers for Windows, Linux 64 bit and MacOS 64 bit, plus a source tarball.
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads (this page has been deprecated, but is still available and has older versions)
https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain (newer page)
Update: This project has been deprecated, and the xPack GNU Arm Embedded GCC (see below).
An alternative build, generally tracks the ARM official toolchain releases, but often has fixes for bad bugs from those releases. For more info, see https://gnu-mcu-eclipse.github.io/toolchain/arm. Installers for Windows 32 & 64 bit, Linux 32 & 64 bit, and MacOS.
A couple of nice things to note about this version:
- gets patch releases a bit faster than the ARM version (which only gets one major and one update release per year now)
- has both 32-bit and 64-bit Windows builds available
Downloads of releases are available from the Github repo: https://github.com/gnu-mcu-eclipse/arm-none-eabi-gcc/releases
This is a relatively new project which has taken over for the previous GNU Eclipse binary distribution (see above). The project is hosted at https://xpack.github.io/arm-none-eabi-gcc/. It tracks the official Arm releases, though as of this writing, it isn't building the aarch64/armv8l release.
I use a Raspberry Pi Model 3 for some of my hardware dev. Unfortunately, theses projects don't build for armv6/7/8 as hosts. I have been able to build the toolchain myself using the source tarball from ARM, but this slooooow (like two-three days to complete slow).
Update: It appears that with the 9-2019-q4-major
release, ARM has started building the aarch64/armv8l version of the toolchain, so at least on the Raspberry Pi 4, you should just be able to grab that.