| |||
| Home > About Previous Releases > Changes between RealView Developer Suite v2.2 and ADS v1.2.1 > Compilation Tools changes between RVDS v2.2 and ASD v1.2.1 | |||
The main differences between the build tools in RealView Developer Suite v2.2 and ADS v1.2.1 are as follows:
Compliance
with the new ABI for the ARM Architecture (Base Standard). See the ABI
for the ARM Architecture page at http://www.arm.com/.
This is different to the old ADS ABI. Some compatibility is provided
with the --apcs /adsabi command line option.
There is full ISO C++ support as defined by the ISO/IEC 14822 :1998 International Standard for C++, by way of the EDG (Edison Design Group) front-end. This includes exceptions, namespaces, templates, and intelligent implementation of Run-Time Type Information (RTTI), but excludes the export of templates.
Support for some GNU language extensions.
ARM and Thumb compilation on a per-function basis.
Re-engineered inline assembler, and a new embedded assembler that enables you to include out-of-line assembly code.
Linker feedback to remove unused functions.
Full support for ARM architecture v6 instructions has been added.
Read/write data compression enables the optimization of ROM size.
Removal of unused C++ virtual functions.
Multifile compilation, which performs optimizations across multiple compilation units.
You can specify a library search path, to indicate where to search for your user libraries.
You can separate RO code and data into different execution regions.
There are new scatter-loading attributes.
Unicode and multibyte characters are supported.
Compiler intrinsics are available to access the
return address of a function, the current stack pointer value, and
the current program counter value. An additional intrinsic enables
you to insert the BKPT instruction in your C or C++
code.
You can identify a function that does not return, so that the compiler generates more efficient code.
The C++ name mangling scheme has changed.
The ARM Profiler (armprof) is not provided with RVCT.
This is not the same as the ARM Profiler provided with RVDS v3.1 Professional edition, and later versions.
The ARM Applications Library is not provided with RVCT.
Unlike the ADS compiler, the RVCT compiler does not generate browser information.
There are changes to the assembler, compiler, and linker command-line options.
Support for double dashes -- to indicate command-line keywords
(for example, --cpp) and single dashes - for command-line
single-letter options, with or without arguments (for example, -S).
The single-dash command-line options used in previous versions of ADS and RVCT are still supported for backwards-compatibility.
The fromelf option -ihf has been
removed.
The tools check more strictly the requirement for eight-byte
stack alignment. The compiler generates code with PRESERVE8 and REQUIRE8.
The linker checks that code that requires eight-byte alignment only
calls code that preserves eight-byte alignment. Therefore, this
has implications for your legacy assembler code, object files and libraries.
You must check that your existing assembly files, object files,
or libraries preserve eight-byte alignment and correct them if required.
For more information, see the RealView Compilation Tools
Assembler Guide and the RealView Compilation
Tools Linker and Utilities Guide for more information.