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