Inquiry about .debug_frame

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 →

  1. Is there something that I missing ? is the information that I provided in this email correct ?
  2. 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 ?

A Ravi

lldb should be able to read both. Can you file a bug please?

Yes sure.

Most compilers emit the same thing for EH frame and for .debug_frame. If this does indeed differ, then LLDB should parse both, but any such changes should really do so in a way that prefers .debug_frame over .eh_frame since .debug_frame should be complete unwind info even though it is just he same as the .eh_frame for most compilers.