GCC Newspaper
JULY 29, 2026
Date
/
Architectures
Components
Topics
News & Policy
gcc/configure

Disable CFI directives on hppa*-*-hpux* for EH encoding.

CFI directives are disabled on hppa*-*-hpux* as GCC will generate EH difference expressions directly.

Generation of Call Frame Information (CFI) directives is disabled for hppa*--hpux targets. This is necessary because the assembler on these systems defines CFI_DIFF_EXPR_OK to 0, preventing it from handling difference expressions. GCC will now generate the required difference expressions itself for the .eh_frame section.

In Details

The configure.ac script now sets gcc_cv_as_cfi_directive to no for hppa*-*-hpux*. This prevents GCC from emitting CFI directives in .eh_frame because the target's assembler (gas) does not support them correctly for EH encoding. GCC will instead generate the necessary EH difference expressions directly, relying on linker support.

For Context
CFI directives
Instructions embedded in object files that describe how to unwind the call stack. They are crucial for exception handling and debugging.
Difference expressions
A method for encoding offsets and other values in the .eh_frame section. They allow for more compact representation of frame data compared to absolute values.
.eh_frame
The DWARF debugging standard section in an object file that stores Call Frame Information (CFI) necessary for stack unwinding during exception handling or debugging.
Filed Under: aarch64sve2p3sme2p3