68
votes

What is the difference between arm-linux-gcc and arm-none-linux-gnueabi and arm-linux-gnueabi toolchains?

Do they compile differently?

1

1 Answers

87
votes

Toolchains have a loose name convention like arch[-vendor][-os]-abi.

  • arch is for architecture: arm, mips, x86, i686...
  • vendor is tool chain supplier: apple,
  • os is for operating system: linux, none (bare metal)
  • abi is for application binary interface convention: eabi, gnueabi, gnueabihf

For your question, arm-none-linux-gnueabi and arm-linux-gnueabi is same thing. arm-linux-gcc is actually binary for gcc which produces objects for ARM architecture to be run on Linux with default configuration (abi) provided by toolchain.

Some nice reading: Toolchains.