Skip to main content

IAR Embedded Workbench for RH850 3.20.x

CFI directives

In this section:

The CFI directives provide C-SPY with information about the state of the calling function(s). Most important of this is the return address, and the value of the stack pointer at the entry of the function or assembler routine. Given this information, C-SPY can reconstruct the state for the calling function, and thereby unwind the stack.

A full description about the calling convention might require extensive call frame information. In many cases, a more limited approach will suffice.

When describing the call frame information, the following three components must be present:

  • A names block describing the available resources to be tracked

  • A common block corresponding to the calling convention

  • A data block describing the changes that are performed on the call frame. This typically includes information about when the stack pointer is changed, and when permanent registers are stored or restored on the stack.

This table lists all the resources defined in the names block used by the compiler:

Resource

Description

R2–R4, R4–R29

Normal registers

SP (R3)

The stack pointer

EP (R30)

The short address base pointer

LP (R31)

The return address register

PSW

The status register

FPSR

The floating-point status

CTPC

The callt return address register

CTPSW

The callt saved status

EIPC

The interrupt/syscall return address register

EIPSW

The interrupt/syscall saved status

FEPC

The exception return address register

FEPSW

The exception saved status

Table 68. Call frame information resources defined in a names block