Call frame information directives for common blocks
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
| 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. |
| The name of a previously defined common block. |
| 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. |
| The name of the block. |
| The name of a previously defined names block. |
| The name of a resource. |
| The memory type, such as |
Description
Use these directives to define a common block:
Directive | Description |
|---|---|
Declares code alignment. | |
Starts or extends a common block. | |
Declares data alignment. | |
Declares the default state of all resources. | |
Ends a common block. | |
Declares a return address column. |
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