ARM GCC brunch

Asked by Maxim Laschinsky

I appreciate it very much if you explain me the difference between the GCC brunches with ARM compiler back-end.
As far as I know there are at least three known brunches: ARM GCC, Sourcery and Yagarto. The base for all these brunches is the GCC trunk. But what is the difference between them? Do you modify/optimize the ARM compiler back-end? Do you merge your changes with GCC trunk? What tests do you perform on ARM GCC builds?

thanks in advance

Question information

Language:
English Edit question
Status:
Answered
For:
GNU Arm Embedded Toolchain Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Joey Ye (jinyun-ye) said :
#1

This branch does merge FSF 4.7 branch for bug fixes and sometime trunk for features/optimization. All difference to FSF 4.7 are listed in ChangeLog.arm in source package.

We run GCC check test and a bunch of benchmark targeting variance of architectures. Release.txt has information about this.

Hope this is helpful.

- Joey

Revision history for this message
emblocks (gnugcc) said :
#2

To be honest, the trunk produces the same code. I think that the trunk is even more stable because it is used by more people (like e.g. yagarto).

See also here for comparison (at the end of the thread) :
https://answers.launchpad.net/gcc-arm-embedded/+question/222957

I like the nanolib thing (don't know if this is also from the same group). IMO it would be better to keep GCC at the trunk and invest more time in the embedded libraries.

I personally moved back to the trunk and just inherit the multilib approach. If you would see what the differences are between this version and the trunk, the compiler is a part of the EmBlocks install package.

http://www.emblocks.org

Revision history for this message
Gary Fuehrer (gfuehrer) said :
#3

Thanks, emblocks, for posting your opinion. I've been fairly disappointed with the quality of optimizations for Thumb2 (-Os) in all the gnu editions that I've tried so far. The edition here had been the best, even better than the linaro 4.8.0 build which seems to be a step backwards. I just tried your build from emblocks 1.01 and it is my new best. Sweet! In particular, it appears to do a better job of register allocation, and it also appears to do less moving of instructions around for no gain.

HowTo get the emblocks build of gcc without having to install emblocks:

Open EmBlocks_1.01.exe using 7zip and descend into the '$_OUTDIR' folder. Select the folders arm-none-eabi, bin, and lib and Extract to wherever you want, like D:\gcc-embedded\gcc-arm-none-eabi-4_7_3-emblocks_win32. Done.

-Gary

Revision history for this message
emblocks (gnugcc) said :
#4

You could also just install Em::Blocks and have a free IDE with debugger (with SVD view)project wizard, etc etc.

Em::Blocks now supports also the EnergyMicro EFM32 devices

http://forum.energymicro.com/topic/921-emblocks-ide-with-energymicro-support/

The next upcomming release (1.20) has full semihosting support. Just check the"Use Semihost" option at the linker tab and check the option "Enable Semihosting" at the debug interface, and you are up and running.

Can you help with this problem?

Provide an answer of your own, or ask Maxim Laschinsky for more information if necessary.

To post a message you must log in.