From 692e2e45bba12e1df6daf736fc2e4e48f863a5b4 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Fri, 25 Aug 2023 16:57:24 -0400 Subject: [PATCH] Debugger: Move line-info version check up and print a warning. This way it will be clear why there is no line-info. --- src/kits/debugger/dwarf/DwarfFile.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/kits/debugger/dwarf/DwarfFile.cpp b/src/kits/debugger/dwarf/DwarfFile.cpp index 186104c8a7..5ccac82b3d 100644 --- a/src/kits/debugger/dwarf/DwarfFile.cpp +++ b/src/kits/debugger/dwarf/DwarfFile.cpp @@ -1779,6 +1779,12 @@ DwarfFile::_ParseLineInfo(CompilationUnit* unit) // version (uhalf) uint16 version = dataReader.Read(0); + if (version != 2 && version != 3) { + WARNING("DwarfFile::_ParseLineInfo(\"%s\"): unsupported " + "version %d\n", fName, version); + return B_UNSUPPORTED; + } + // header_length (4/8) uint64 headerLength = dwarf64 ? dataReader.Read(0) : (uint64)dataReader.Read(0); @@ -1809,9 +1815,6 @@ DwarfFile::_ParseLineInfo(CompilationUnit* unit) if (dataReader.HasOverflow()) return B_BAD_DATA; - if (version != 2 && version != 3) - return B_UNSUPPORTED; - TRACE_LINES(" unitLength: %" B_PRIu64 "\n", unitLength); TRACE_LINES(" version: %u\n", version); TRACE_LINES(" headerLength: %" B_PRIu64 "\n", headerLength);