What is ARM GCC?
The GNU Arm Embedded Toolchain includes the GNU Compiler (GCC) and is available free of charge directly from Arm for embedded software development on Windows, Linux, and Mac OS X operating systems. Follow the links on this page to download the right version for your development environment.
What is hard float ABI?

hard. The hard option enables full hardware floating-point support. The compiler generates floating-point instructions and uses the floating-point ABI. Floating-point function arguments are passed directly into FPU registers.
What is a GCC switch?
The `gcc’ command accepts switches that control the compilation process. These switches are fully described in this section: first an alphabetical listing of all switches with a brief description, and then functionally grouped sets of switches with more detailed information.
Why GCC is used in Linux?
In Linux, the GCC stands for GNU Compiler Collection. It is a compiler system for the various programming languages. It is mainly used to compile the C and C++ programs.

Does GCC work on ARM?
All contributions from Arm are made to the trunk and/or the release branches of the relevant projects. Note: GCC sources are picked from an Arm vendor branch which is based on an official gcc release branch. Sometimes, patches are cherry-picked as needed to the Arm vendor branch for binary releases.
What is GNU cross compiler?
The GCC cross-compiler works just like your local version: It just creates a different type of executable for an alternate platform. This means that you can use the same command-line options, such as header and library locations, optimization, and debugging.
What is soft floating?
Soft floats emulate one in software. The difference is speed. It’s strange to see both used on the same target architecture, since the chip either has an FPU or doesn’t. You can enable soft floating point in GCC with -msoft-float. You may want to recompile your libc to use hardware floating point if you use it.
Can GCC compile to ARM?
All you need is a cross compiler. You install the cross compiler in your x86 machine and it will generate machine code for arm. I recommend using the GNU arm embedded toolchain. Beware if you are doing bare metal, as functions like printf() may not work without some extra work.