Keil Logo

Toolchain differences

2.2 Toolchain differences

Arm® Compiler 5 and Arm Compiler 6 share many of the same compilation tools. However, the main difference between the two toolchains is the compiler tool armclang, which is based on Clang and LLVM.

The table lists the individual compilation tools and the toolchain they apply to.

Table 2-1 List of compilation tools

Arm Compiler 5 Arm Compiler 6 Function
armcc armclang Compiles C and C++ language source files, including inline assembly.
armcc armclang Preprocessor.
armasm armasm Legacy assembler for assembly language source files written in armasm syntax. Use the armclang integrated assembler for all new assembly files.
Not available armclang. This is also called the armclang integrated assembler. Assembles assembly language source files written in GNU assembly syntax.
fromelf fromelf Converts Arm ELF images to binary formats and can also generate textual information about the input image, such as its disassembly and its code and data size.
armlink armlink Combines the contents of one or more object files with selected parts of one or more object libraries to produce an executable program.
armar armar Enables sets of ELF object files to be collected together and maintained in archives or libraries.

Arm Compiler 6 uses the compiler tool armclang instead of armcc. The command-line options for armclang are different to the command-line options for armcc. These differences are described in 3.1 Migration of compiler command-line options from Arm® Compiler 5 to Arm® Compiler 6.

Arm Compiler 6 includes the legacy assembler armasm, which you can use to assemble your older assembly language source files if they are written in armasm syntax. Arm recommends that you write new assembly code using the GNU assembly syntax, which you can assemble using the armclang integrated assembler. You can also migrate existing assembly language source files from armasm syntax to GNU syntax, and then assemble them using the armclang integrated assembler. For more information see Chapter 5 Migrating from armasm to the armclang Integrated Assembler.

Non-ConfidentialPDF file icon PDF version100068_0615_00_en
Copyright © 2014–2020 Arm Limited or its affiliates. All rights reserved. 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.