@item
Terminology improvements and renames for readability
@itemize @minus
- @item Use terminology `PC offset' in place of `Addr' for function start PC
- offset consistently.
+ @item Use the terminology `PC offset' in place of `Addr' for function start
+ PC offset consistently.
@item Make a distinction between SFrame FDE Type (e.g.,
@code{SFRAME_FDE_TYPE_DEFAULT}, @code{SFRAME_FDE_TYPE_FLEX}) vs SFrame FDE PC
Type (i.e., @code{SFRAME_FDE_PCTYPE_MASK}, @code{SFRAME_FDE_PCTYPE_INC}).
@itemize @bullet
@item
Add an unsigned 8-bit integral field to the SFrame function descriptor entry to
-encode the size of the repetitive code blocks. Such code blocks, e.g, pltN
+encode the size of the repetitive code blocks. Such code blocks, e.g., pltN
entries, use an SFrame function descriptor entry of type
@code{SFRAME_FDE_PCTYPE_MASK}.
@item
@item @code{SFRAME_VERSION_2}
@tab 2 @tab Second version.
@item @code{SFRAME_VERSION_3}
-@tab 2 @tab Third version, under development.
+@tab 3 @tab Third version, under development.
@end multitable
This document describes @code{SFRAME_VERSION_3}.
The SFrame header is the first part of an SFrame section. It begins with the
SFrame preamble. All parts of it other than the preamble
(@pxref{SFrame Preamble}) can vary between SFrame file versions. It contains
-things that apply to the section as a whole, and offsets to the various other
+metadata that apply to the section as a whole, and offsets to the various other
sub-sections defined in the format. As with the rest of the SFrame section,
all values are stored in the endianness of the target system.
SFrame header identifies the ABI/arch of the target system for which the
executable and hence, the stack trace information contained in the SFrame
-section, is intended. There are currently three identifiable ABI/arch values
+section, is intended. There are currently four identifiable ABI/arch values
in the format.
@multitable {SFRAME_ABI_AARCH64_ENDIAN_LITTLE} {Value} {@code{AArch64 little-endian}}
@} ATTRIBUTE_PACKED sframe_func_desc_idx;
@end example
-Each entry of the SFrame function descriptor index is naturally aligned.
-Following table describes each component of the SFrame FDE index entry:
+Each entry of the SFrame function descriptor index is naturally aligned. The
+following table describes each component of the SFrame FDE index entry:
@multitable {Offset} {@code{uint32_t}} {@code{sfdi_func_start_fre_off}} {Signed 32-bit integral field denoting the}
@headitem Offset @tab Type @tab Name @tab Description
@itemize @minus
@item read and interpret SFrame FRE data, e.g., the number and size of each
SFrame FRE offset,
- @item PC type for SFrame FDE,
+ @item PC Type for SFrame FDE,
@item type of SFrame FDE,
@item size of repeat block, if PC Type is @code{SFRAME_FDE_PCTYPE_MASK}.
@end itemize
@item 4
@tab @code{fde_pctype}
-@tab Specify the SFrame FDE PC type. Two possible values: @*
+@tab Specify the SFrame FDE PC Type. Two possible values: @*
@code{SFRAME_FDE_PCTYPE_MASK} (1), or @*
@code{SFRAME_FDE_PCTYPE_INC} (0). @*
@xref{The SFrame FDE PC Types}.
trampolines.
@multitable {@code{SFRAME_V3_FDE_PCTYPE_MASK}} {Value} {Unwinders perform a Unwinders perform a fo}
-@headitem Name of SFrame FDE PC type @tab Value @tab Description
+@headitem Name of SFrame FDE PC Type @tab Value @tab Description
@item @code{SFRAME_V3_FDE_PCTYPE_INC}
@tab 0 @tab Stacktracers perform a @*