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.
- 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.