| |||
| Home > About Previous Releases > Differences between RVCT v2.2 SP1 and RVCT v2.2 | |||
This section describes the differences between RVCT v2.2 delivered with RVDS v2.2 Service Pack 1 (SP1) and the previous release.
The differences were:
RVCT v2.2 SP1 includes support for the ARM1136J(F)-S-rev-1 core. To see a full list of supported cores use:
armcc --cpu list
The ARM linker offers new options when building shared objects, that is, use:
--pt_arm_exidx to
create a PT_ARM_EXIDX program header that describes
the location of the exception tables. The linker assumes that a
shared object containing a PT_ARM_EXIDX program
header might throw an exception.
--force_so_throw to force the linker
to assume that all shared objects might throw an exception.
For full details of these command-line options, see the chapter describing System V shared libraries in Linker and Utilities Guide.
The preprocessing directive #warning is
supported. This produces a user-defined warning at compilation time
but does not halt compilation.
The keywords __restrict and __restrict__ are
supported as synonyms for restrict. In this release,
both keywords are available in all modes (not just with --restrict).
The deprecated function attribute
is supported in both GNU mode and ARM mode:
int Function_Attributes_deprecated_0(int b) __attribute__ ((deprecated));
The fromelf utility now supports a --no_comment_section option,
to remove the .comment section from ELF output
files.
The storage type selection of the compiler option --enum_is_int has
changed. If the range of the enumerator is greater than the range
of a signed int, but is within the range of an unsigned
int, the storage type of the enum is now unsigned
int.
For example:
enum E { k = 0x8000000 }; /* is treated as unsigned int */
As part of the development of the ARM assembly language,
the SWI instruction has been renamed to SVC (SuperVisor
Call).
Instructions disassemble to SVC, with a comment
to say that this was formerly SWI. For example, fromelf
--text -c produces:
... 0x00000fbc: e3a00010 .... MOV r0,#0x10 0x00000fc0: ef123456 V4.. SVC 0x123456 ; formerly SWI ...