Share via


_IMAGE_CE_RUNTIME_FUNCTION_ENTRY

9/7/2007

This structure contains detailed information about runtime exception processing.

_IMAGE_CE_RUNTIME_FUNCTION_ENTRY is used only by ARM and Renesas microprocessor families. It does not apply to MIPS microprocessors.

Syntax

typedef struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY {
  unsigned int FuncStart : 32;
  unsigned int PrologLen : 8;
  unsigned int FuncLen : 22;
  unsigned int ThirtyTwoBit : 1;
  unsigned int ExceptionFlag : 1;
} IMAGE_CE_RUNTIME_FUNCTION_ENTRY,
*PIMAGE_CE_RUNTIME_FUNCTION_ENTRY;

Parameters

  • FuncStart
    Address of the first instruction in the function.

    It is the function's entry address.

  • PrologLen
    Length of the prolog in instructions, based on the instruction size indicated in the ThirtyTwoBit flag.

    PrologLen is set to 1 for ARM functions, and to 0 for THUMB and SH-4 functions.

  • FuncLen
    Total function length in instructions; see PrologLen, above. A function with 200 ARM instructions would have a FuncLen of 200, or 800 bytes.
  • ThirtyTwoBit
    Size of instructions in a function. ThirtyTwoBit can hold one of the following values:

    1Represents ARM functions, each of which consists of 32-bit instructions, or 4 bytes.

    0Represents THUMB functions, each of which consists of 16-bit instructions, or 2 bytes.

  • ExceptionFlag
    Associated exception handler or handler data.

    When its value is 1, the PDATA_EH is present in the .text section.

    When the ExceptionFlag is 0, no PDATA_EH is present.

Remarks

The IMAGE_CE_RUNTIME_FUNCTION_ENTRY data structure is also called as PDATA. A table containing these records is stored in a section called .pdata. The .pdata section aids in debugging and exception processing.

If the ExceptionFlag is set, or if the FuncLen is set to 0, an additional PDATA_EH structure exists that precedes the function in the .text section.

The data record containing this information appears in the .text section, immediately preceding the function, if and only if the ExceptionFlag bit is set.

This record is used when the function has an associated exception handler or handler data.

See Also

Reference

PDATA Structures
PDATA_EH