cancel
Showing results for 
Search instead for 
Did you mean: 

Difference between the ARM and ST GCC toolchains (13.3.rel1)

ERROR
Senior

Hi!

Was hit by a non-obvious difference between the ARM and ST GCC toolchains.

I installed the following toolchains (from the official ARM and ST websites) in two separate Docker containers.

Their --version outputs are:

ST toolchain

arm-none-eabi-gcc (GNU Tools for STM32 13.3.rel1.20240926-1715) 13.3.1 20240614

ARM toolchain

arm-none-eabi-gcc (Arm GNU Toolchain 13.3.Rel1 (Build arm-13.24)) 13.3.1 20240614

Then I compiled a simple main.c using the cyclomatic complexity option:

arm-none-eabi-gcc -c main.c -fcyclomatic-complexity -o build/main.o

Results:

  • ARM GCC 13 reports:

    arm-none-eabi-gcc: error: unrecognized command-line option '-fcyclomatic-complexity'
  • ST GCC 13 accepts the option without any error.

So even though both toolchains report the same GCC version, the ST build includes this option while the ARM reference toolchain does not.

This suggests that there may be additional differences between the two toolchains.
When using both toolchains - or migrating from one to the other - be careful.

Just a heads-up.

0 REPLIES 0