Skip to main content

IAR Embedded Workbench for Arm 9.70.x

Call frame information directives for common blocks

In this section:
Syntax

Common block directives:

CFI COMMON name USING namesblock

CFI ENDCOMMON name

CFI CODEALIGN codealignfactor

CFI DATAALIGN dataalignfactor

CFI DEFAULT { UNDEFINED | SAMEVALUE }

CFI RETURNADDRESS resource type

Parameters

codealignfactor

The smallest common factor of all instruction sizes. Each CFI directive for a data block must be placed according to this alignment. 1 is the default and can always be used, but a larger value reduces the produced call frame information in size. The possible range is 1–256.

commonblock

The name of a previously defined common block.

dataalignfactor

The smallest common factor of all frame sizes. If the stack grows toward higher addresses, the factor is negative; if it grows toward lower addresses, the factor is positive. 1 is the default, but a larger value reduces the produced call frame information in size. The possible ranges are –256 to –1 and 1 to 256.

name

The name of the block.

namesblock

The name of a previously defined names block.

resource

The name of a resource.

type

The memory type, such as CODE, CONST, or DATA. In addition, any of the segment memory types supported by the linker. It is only used for denoting an address space.

Description

Use these directives to define a common block:

Directive

Description

CFI CODEALIGN

Declares code alignment.

CFI COMMON

Starts or extends a common block.

CFI DATAALIGN

Declares data alignment.

CFI DEFAULT

Declares the default state of all resources.

CFI ENDCOMMON

Ends a common block.

CFI RETURNADDRESS

Declares a return address column.

Table 157. Call frame information directives common block 


In addition to these directives you might also need the call frame information directives for specifying rules, or CFI expressions for resources and CFAs, see Call frame information directives for tracking resources and CFAs.

Example

Examples of using CFI directives

See also

Tracking call frame usage