[Lldb-commits] [lldb] [lldb] Parse DWARF CFI for discontinuous functions (PR #137006)

Jason Molenda via lldb-commits lldb-commits at lists.llvm.org
Tue May 6 22:31:39 PDT 2025


https://github.com/jasonmolenda approved this pull request.

Sorry for taking so long to look at this one, it all looks reasonable and I'm fine with this.

It would be valid for eh_frame entries which are only valid at throwable locations to not be scoped to a single function.  If you had two functions next to each other that have the exact same unwind state in the body of the function, it would be valid eh_frame to have a single entry covering both of them.  I only mention this because of the comment about a function starting at offset 0 in an UnwindPlan.  In this scenario I describe, the unwind plan would have a single row at offset 0, starting at the start address of the first function and extending to the end of the second function.

I've never seen a compiler emit eh_frame like this so it's not important in any way, but just thinking out loud.  On Darwin systems we have a much more constrained format exclusively for exception throwing called compact unwind, and it does this exact trick for consecutive functions with the same unwind state.

https://github.com/llvm/llvm-project/pull/137006


More information about the lldb-commits mailing list