Difference between arm-linux-gnueabi-gcc and arm-none-eabi-gcc in ubuntu

Asked by Andre Wagner

Hi,
I'm new with arm compiler tool chains. I discovered that ubuntu got two different arm toolchains: gcc-arm-embedded (from Debian and your ppa) and gcc-arm-linux-gnueabi (directly maintained by canonical). I also discovered that gcc-arm-embedded latest version refers to gcc version 7, but gcc-arm-linux-gnueabi refers to gcc version 8.

Now I got following questions:
1. What is the difference between the tool chains?
2. Why is it better to use gcc-arm-embedded tool chain even it has an older gcc base?

Thank you in advance,
André

Question information

Language:
English Edit question
Status:
Solved
For:
GNU Arm Embedded Toolchain Edit question
Assignee:
No assignee Edit question
Solved by:
Tejas Belagod
Solved:
Last query:
Last reply:
Revision history for this message
Tejas Belagod (belagod-tejas) said :
#1

Hi Andre,

gcc-arm-embedded is targeted to generate code for R and M profile bare-metal ARM targets. gcc-arm-linux-gnueabi targets A-profile linux hosted ARM targets.

The Embedded toolchain release follows the upstream stable releases with a time gap, hence it 'seems' old, but its really not.

I hope that answers your question.

Thanks,
Tejas.

Revision history for this message
Andre Wagner (andre.wagner) said :
#2

Thanks for your answer.

Since I have to build a setup for A and M profile ARM, I additionally need to know if following assumptions are correct:
1. gcc-arm-embedded is R and M profile optimized upstream gcc, but A profile still works. The optimizations are merged upstream.
2. arm-linux-gnueabi is A profile optimized upstream gcc, but R and M profile still works. The optimizations are merged upstream.

Again, thank you for your answers in advance.

Revision history for this message
Best Tejas Belagod (belagod-tejas) said :
#3

> 1. gcc-arm-embedded is R and M profile optimized upstream gcc, but A profile still works. The optimizations are merged upstream.

A profile still works, but it may not be optimized or fully tested. The multilibs are certainly not optimized for A-profile.

>2. arm-linux-gnueabi is A profile optimized upstream gcc, but R and M profile still works. The optimizations are merged upstream.

Sorry, you will need to contact the distributors of this toolchain, presumably Linaro?

Thanks,
Tejas.

Revision history for this message
Andre Wagner (andre.wagner) said :
#4

Thanks Tejas Belagod, that solved my question.