Difference between revisions of "ARMCompilers"

From eLinux.org
Jump to: navigation, search
m (Add short intro and links)
m (2007q3 seems to miscompile recent kernels)
Line 18: Line 18:
 
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.
 
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.
  
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)
+
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has the following issues:
 +
** Broken -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)
 +
** Started to [http://marc.info/?l=linux-omap&m=123878607426122&w=2 miscompile Linux kernel] with >= ~2.6.29.
  
 
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:
 
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:

Revision as of 09:06, 9 April 2009

This page is about compilers (toolchains) for ARM (Linux) based boards, mainly focussed to ARM Cortex A8 on BeagleBoard.

GCC compiler

Recommendations

CodeSourcery ARM GNU/Linux tool chain is the version with the support for the latest ARM architecture. Mainline gcc also has stable ARM support. Enhancements are made in the Codesourcery version first, and are then pushed back to mainline.

2007q3 version is recommended. An ARM-native version of CS2007q3 has been built as well. You can also install a native tool-chain from Angstrom.

Note: If you will use only OpenEmbedded (OE) to build code for your Beagle, you don't need to download the CodeSourcery compiler. OE builds a cross-compiler from source as part of the bitbake process.

Limitations

Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using 2007q3-51 for a couple of months now.

Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section Advanced Packages), copy extracted arm-2007q3 directory to /opt/codesourcery/arm-none-linux-gnueabi/ and add /opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin to your path.

  • Note: CodeSourcery 2008q1 has the following issues:
    • Vectorization + NEON is broken
    • building static binaries with cortex-a8 flag (or any ARMv7a core) is broken
    • some armv6 compilations end in ICE.
  • Note: CodeSourcery 2008q3 (now replaced by 2008q3-72) has the following issues:

ARM RVDS compiler

ARM has the Realview Developer Suite, with arguably better code generation than gcc. An DVD evaluation version is available (or download via internet by registering followed by download).

ARM RVDS tools can be used to generate Linux applications and shared-libraries, by following the Apps Note 212 Building Linux applications using RVCT v4.0 and the GNU Tools and Libraries

ARM RVDS can also work in Scratchbox, by following Apps Note 221 RealView Development Suite 4.0 ARM Compiler for Scratchbox