Bläddra i källkod

LibDebug: Keep track of the SetEpilogueBegin LineProgram OpCode

This prevents a crash with clang 16.
Andrew Kaster 2 år sedan
förälder
incheckning
aa0ed4ab4e

+ 4 - 0
Userland/Libraries/LibDebug/Dwarf/LineProgram.cpp

@@ -252,6 +252,10 @@ ErrorOr<void> LineProgram::handle_standard_opcode(u8 opcode)
         m_prologue_end = true;
         m_prologue_end = true;
         break;
         break;
     }
     }
+    case StandardOpcodes::SetEpilogueBegin: {
+        m_epilogue_begin = true;
+        break;
+    }
     default:
     default:
         dbgln("Unhandled LineProgram opcode {}", opcode);
         dbgln("Unhandled LineProgram opcode {}", opcode);
         VERIFY_NOT_REACHED();
         VERIFY_NOT_REACHED();

+ 1 - 0
Userland/Libraries/LibDebug/Dwarf/LineProgram.h

@@ -190,6 +190,7 @@ private:
     bool m_is_statement { false };
     bool m_is_statement { false };
     bool m_basic_block { false };
     bool m_basic_block { false };
     bool m_prologue_end { false };
     bool m_prologue_end { false };
+    bool m_epilogue_begin { false };
 
 
     Vector<LineInfo> m_lines;
     Vector<LineInfo> m_lines;
 };
 };