The following GNU GCC compilers are supported:

(info) See GCC Support for additional information about usage and known limitations.

GNU GCC 7.x

  • Compiler acronym: gcc_7
  • Host OS: Windows (x86_64), Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

GNU GCC 7.x (x86_64)

  • Compiler acronym: gcc_7-64
  • Host OS: Windows (x86_64), Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

GNU GCC 8.x

  • Compiler acronym: gcc_8
  • Host OS: Windows (x86_64), Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

GNU GCC 8.x (x86_64)

  • Compiler acronym: gcc_8-64
  • Host OS: Windows (x86_64), Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

GNU GCC 8.x (arm/aarch32)

  • Compiler acronym: gcc_8-aarch32
  • Host OS: Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

Additional Notes

This compiler configuration has been tested with both arm-none-eabi and arm-unknown-linux-gnueabihf targets. It defaults to arm-none-eabi.

GNU GCC 8.x (aarch64/arm64)

  • Compiler acronym: gcc_8-aarch64
  • Host OS: Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

Additional Notes

This compiler configuration has been tested with both aarch64-none-elf and aarch64-unknown-linux-gnu targets. It defaults to aarch64-none-elf.

GNU GCC 9.x

  • Compiler acronym: gcc_9
  • Host OS: Windows (x86_64), Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

GNU GCC 9.x (x86_64)

  • Compiler acronym: gcc_9-64
  • Host OS: Windows (x86_64), Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

GNU GCC 9.x (arm/aarch32)

  • Compiler acronym: gcc_9-aarch32
  • Host OS: Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

Additional Notes

This compiler configuration has been tested with both arm-none-eabi and arm-unknown-linux-gnueabihf targets. It defaults to arm-none-eabi.

GNU GCC 9.x (aarch64/arm64)

  • Compiler acronym: gcc_9-aarch64
  • Host OS: Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

GNU GCC 10.x (x86_64)

  • Compiler acronym: gcc_10-64
  • Host OS: Windows (x86_64), Linux (x86_64)
  • Supported practices: Full support (Linux), Static Analysis (Windows)
  • Support level: Extended

GNU GCC 10.x (arm/aarch32)

  • Compiler acronym: gcc_10-aarch32
  • Host OS: Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

Additional Notes

This compiler configuration has been tested with both arm-none-eabi and arm-unknown-linux-gnueabihf targets. It defaults to arm-none-eabi.

GNU GCC 10.x (aarch64/arm64)

  • Compiler acronym: gcc_10-aarch64
  • Host OS: Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

Additional Notes

This compiler configuration has been tested with both aarch64-none-elf and aarch64-unknown-linux-gnu targets. It defaults to aarch64-none-elf.

GNU GCC 11.x (x86_64)

  • Compiler acronym: gcc_11-64
  • Host OS: Windows (x86_64), Linux (x86_64)
  • Supported practices: Full support (Linux), Static Analysis (Windows)
  • Support level: Extended

GNU GCC 11.x (arm/aarch32)

  • Compiler acronym: gcc_11-aarch32
  • Host OS: Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

Additional Notes

This compiler configuration has been tested with both arm-none-eabi and arm-unknown-linux-gnueabihf targets. It defaults to arm-none-eabi.

GNU GCC 11.x (aarch64/arm64)

  • Compiler acronym: gcc_11-aarch64
  • Host OS: Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

Additional Notes

This compiler configuration has been tested with both aarch64-none-elf and aarch64-unknown-linux-gnu targets. It defaults to aarch64-none-elf.

GNU GCC 11.x (powerpc)

  • Compiler acronym: gcc_11-powerpc
  • Host OS: Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

Additional Notes

  • This compiler configuration has been tested with both powerpc-eabi and powerpc-unknown-linux-gnu targets. It defaults to powerpc-unknown-eabi.
  • The Linux target has been tested using user mode emulation and a powerpc stage3 gentoo image.
  • C++ unit testing and application monitoring are not supported when the floating point ABI is 'ieeelongdouble'.
    • GCC mangles the type 'long double' into a custom type that C/C++test is unable to recognize.
    • Stubbing will not work correctly in this case, and duplicate symbols may result at link time. 
  • This configuration does not support 64-bit powerpc.

GNU GCC 12.x (x86_64)

  • Compiler acronym: gcc_12-64
  • Host OS: Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

GNU GCC 12.x (aarch64/arm64)

  • Compiler acronym: gcc_12-aarch64
  • Host OS: Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

Additional Notes

This compiler configuration has been tested with both aarch64-none-elf and aarch64-unknown-linux-gnu targets. It defaults to aarch64-none-elf.

GNU GCC 13.x (x86_64)

  • Compiler acronym: gcc_13-64
  • Host OS: Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

GNU GCC 13.x (aarch64/arm64)

  • Compiler acronym: gcc_13-aarch64
  • Host OS: Linux (x86_64, aarch64)
  • Supported practices: Full support
  • Support level: Extended

Additional Notes

  • This compiler configuration has been tested with both aarch64-none-elf and aarch64-unknown-linux-gnu targets. It defaults to aarch64-none-elf.
  • C++23 is not supported.

Deprecated Compilers

The following compiler configurations are now deprecated:

GNU GCC 6.x

  • Compiler acronym: gcc_6
  • Host OS: Windows (x86_64), Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended

GNU GCC 6.x (x86_64)

  • Compiler acronym: gcc_6-64
  • Host OS: Windows (x86_64), Linux (x86_64)
  • Supported practices: Full support
  • Support level: Extended



About Support Levels

  • Extended: Support has been validated with extended testing and is approved for use in safety-critical software development.
  • Standard: Support has been validated with standard testing and is approved for use in non-safety-critical software development.
  • No labels