binutils Newspaper
OCTOBER 6, 2026
gas — Proposed

gas: sframe: Add test for signal frame with unsupported CFI

Adds a test case for gas's SFrame generation when encountering unsupported CFI directives in signal frames.

This patch introduces a new test case for the GNU Assembler’s (gas) SFrame generation mechanism. It specifically targets scenarios where unsupported Call Frame Information (CFI) directives are used within signal frames, ensuring that gas behaves correctly by producing an empty FDE (Frame Description Entry) instead of crashing or generating invalid data.

In Details

This patch adds a new test case to the gas testsuite to verify the behavior of the SFrame (Stack Frame) generation when processing signal frames that contain unsupported CFI directives. The test ensures that gas gracefully handles such unsupported directives by generating an 'empty' FDE without any Resource Entries (FREs), rather than encountering a crash or producing malformed SFrame data. This is important for robust stack unwinding and debugging information generation.

For Context
gas
The GNU Assembler, part of GNU Binutils.
sframe
Stack Frame, a data structure used by debuggers and runtime systems to reconstruct the call stack.
CFI
Call Frame Information, a set of directives used in DWARF debugging information to describe how to unwind the stack.
FDE
Frame Description Entry, a component of DWARF debugging information that describes a function's stack frame setup and teardown.
signal frame
A specific type of stack frame used when handling asynchronous signals, which may have different unwinding requirements than regular function calls.
unsupported CFI
Call Frame Information directives that are not recognized or handled by the current version of the assembler or debugging information generator.
Filed Under: binutilsgassframecfidebugging