I have a statically linked executable compiled from a C program. objdump -x a.out
indicates the presence of the .eh_frame
section, even after strip -s
. Why is this section useful in a C (non-C++) program? What are the risks of stripping it (with strip -R .eh_frame
)?
About eh_frame, it contains exception unwinding and source language information. Each entry in this section is represented by single CFI (call frame information )
A frame-based exception handler allows you to deal with the possibility that an exception may occur in a certain sequence of code.
From remyabel's comment and OP's confirmation, the answer to the OP question is available via another SO question as linked by:
Why GCC compiled C program needs .eh_frame section?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With