[all-commits] [llvm/llvm-project] b63c1c: [lldb] Disable some unwind plans for discontinuous...

Pavel Labath via All-commits all-commits at lists.llvm.org
Thu May 22 05:18:57 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b63c1c47b78a3c7af3014c4c77d1aad87ec78729
      https://github.com/llvm/llvm-project/commit/b63c1c47b78a3c7af3014c4c77d1aad87ec78729
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/CallFrameInfo.h
    M lldb/include/lldb/Symbol/FuncUnwinders.h
    M lldb/source/Plugins/ObjectFile/PECOFF/PECallFrameInfo.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/PECallFrameInfo.h
    M lldb/source/Symbol/FuncUnwinders.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/unittests/ObjectFile/PECOFF/TestPECallFrameInfo.cpp

  Log Message:
  -----------
  [lldb] Disable some unwind plans for discontinuous functions (#140927)

Basically, disable everything except the eh_frame unwind plan, as that's
the only one which supports this right now. The other plans are working
with now trying the interpret everything in between the function parts
as a part of the function, which is more likely to produce wrong results
than correct ones.

I changed the interface for object file plans, to give the
implementations a chance to implement this correctly, but I haven't
actually converted PECallFrameInfo (its only implementation) to handle
that. (from the looks of things, it should be relatively easy to do, if
it becomes necessary)

I'm also deleting UnwindPlan::GetFirstNonPrologueInsn, as it's not used,
and it doesn't work for discontinuous functions.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list