|Home > Migrating from Arm Compiler 5 to Arm Compiler 6 > 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|
||Compiles C and C++ language source files, including inline assembly.|
||Assembles assembly language source files written in
||Assembles assembly language source files written in GNU assembly syntax.|
||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.|
||Combines the contents of one or more object files with selected parts of one or more object libraries to produce an executable program.|
||Enables sets of ELF object files to be collected together and maintained in archives or libraries.|
Arm Compiler 6 uses the
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 provides
armasm, which you can use use to assemble your
existing assembly language source files that are written in
armasm syntax. Arm recommends you write new assembly code using the GNU assembly syntax, which you
can assemble using the
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.