While compiling with clang for i386, I notice that the CFI information is distributed between the .eh_frame section and the .debug_frame section, meaning for some functions the CFI info is present in the .debug_frame section whereas for some it is present in the .eh_frame. Now looking at the lldb code, I see that this information is only read from the .eh_frame section and not from the .debug_frame section. My questions are the following →
- Is there something that I missing ? is the information that I provided in this email correct ?
- If it is correct, is this expected behavior ? I mean if the CFI info is present in the .debug_frame then I think it should be read ? coz it maybe useful in unwinding scenarios ?