This patch consists of a ZIP file containing new versions of the ARM compilation tools for use with RVDS/RVCT versions 2.2. To install these, carry out the following steps: Note: This patch is NOT compatible with the RVDS v2.2 Evaluation CD or RVDK products. Ensure that you are currently using RVCT 2.2. To do this, type:
armcc --vsn
and ensure that this returns RVCT 2.2.
- Extract the files from the ZIP file into your RVCT install directory. The default locations are:
C:\Program Files\ARM\RVCT\Programs\2.2\349\win_32-pentium If necessary change the directory to unzip into to match the location where you have installed the tools. *IMPORTANT* To minimise the ZIP file sizes, only one compiler (armcc) is provided in this patch. However, the separate armcc, tcc, armcpp and tcpp executables are identical in RVCT 2.2, so you will need to copy the new armcc to tcc, armcpp and tcpp appropriately in the bin directory. - The updated tools should now have been installed. To confirm this, open a DOS command prompt window and enter:
armcc --vsn armcpp --vsn tcc --vsn tcpp --vsn armlink --vsn armasm --vsn fromelf --vsn armar --vsn
The version returned should be build 435.
Build 435 RVCT 2.2 patch build 435 includes the following corrections and improvements since the original RVCT 2.2 build 349: Compiler: Further improvements have been added in the support of C++ exceptions. Corrections have been made to the compiler's front-end to resolve: Erroneous "Error: #1446: problem opening source file ... Not a directory" error on Unix due to file/directory clash in inclusion. Internal fault: 0xc512 when initializing a bitfield from a cast address in C++. Internal fault: 0xe9ad when compiling for multi-byte character sets. Valid floating point constants being reported as out-of-range in IEEE modes. Static float member initializers now accepted in --gnu mode.
Some code generation issues have been corrected, including: In C++, some temporaries were not being destroyed correctly, e.g. temporaries returned from virtual function calls, temporaries returned from pointer to member calls and temporaries of classes with no constructor.
Linker: The following issues are resolved: A crash when generating a --feedback file and with a scatter file containing .ANY. Inline veneer sharing was broken in Thumb large region mode. RW data compression corner case fault with "--datacompressor 2". To avoid L6286E, Thumb large region mode is now enabled just before the 4MB code size limit in an Execution Region is reached, where extra veneers would otherwise be generated. Dynamic section tags (DT_ARM_xxx) now match the new Base Platform ABI.
Assembler: Some Unified Assembler issues are resolved, including: Fromelf:
|