[all-commits] [llvm/llvm-project] e7950f: [llvm-debuginfo-analyzer] (09/09) - CodeView Reader

Carlos Alberto Enciso via All-commits all-commits at lists.llvm.org
Mon Feb 27 01:25:31 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e7950fceb1e7f82370f6cff80b258e552eb410a6
      https://github.com/llvm/llvm-project/commit/e7950fceb1e7f82370f6cff80b258e552eb410a6
  Author: Carlos Alberto Enciso <carlos.alberto.enciso at gmail.com>
  Date:   2023-02-27 (Mon, 27 Feb 2023)

  Changed paths:
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVReader.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVScope.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSupport.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSymbol.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVType.h
    M llvm/include/llvm/DebugInfo/LogicalView/LVReaderHandler.h
    M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
    A llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewReader.h
    A llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.h
    M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
    M llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVSupport.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVType.cpp
    M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
    A llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
    A llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
    M llvm/lib/DebugInfo/PDB/Native/DbiModuleList.cpp
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/01-coff-compare-logical-elements.test
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/01-coff-print-basic-details.test
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/01-coff-select-logical-elements.test
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/02-coff-logical-lines.test
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/03-coff-incorrect-lexical-scope-typedef.test
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/04-coff-missing-nested-enumerators.test
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/05-coff-incorrect-lexical-scope-variable.test
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/06-coff-full-logical-view.test
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/Inputs/hello-world-codeview-clang.o
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/Inputs/hello-world-codeview-msvc.o
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/Inputs/pr-43860-codeview-clang.o
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/Inputs/pr-43860-codeview-msvc.o
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/Inputs/pr-44884-codeview-clang.o
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/Inputs/pr-44884-codeview-msvc.o
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/Inputs/pr-46466-codeview-clang.o
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/Inputs/pr-46466-codeview-msvc.o
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/Inputs/test-codeview-clang.o
    A llvm/test/tools/llvm-debuginfo-analyzer/COFF/Inputs/test-codeview-msvc.o
    M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
    A llvm/unittests/DebugInfo/LogicalView/CodeViewReaderTest.cpp
    A llvm/unittests/DebugInfo/LogicalView/Inputs/test-codeview-clang.o
    A llvm/unittests/DebugInfo/LogicalView/Inputs/test-codeview-msvc.o
    A llvm/unittests/DebugInfo/LogicalView/Inputs/test-codeview-pdb-msvc-.pdb
    A llvm/unittests/DebugInfo/LogicalView/Inputs/test-codeview-pdb-msvc.o

  Log Message:
  -----------
  [llvm-debuginfo-analyzer] (09/09) - CodeView Reader

llvm-debuginfo-analyzer is a command line tool that processes debug
info contained in a binary file and produces a debug information
format agnostic “Logical View”, which is a high-level semantic
representation of the debug info, independent of the low-level
format.

The code has been divided into the following patches:

1) Interval tree
2) Driver and documentation
3) Logical elements
4) Locations and ranges
5) Select elements
6) Warning and internal options
7) Compare elements
8) ELF Reader
9) CodeView Reader

Full details:
https://discourse.llvm.org/t/llvm-dev-rfc-llvm-dva-debug-information-visual-analyzer/62570

This patch:

This is a high level summary of the changes in this patch.

CodeView Reader
- Support for CodeView/PDB.
  LVCodeViewReader, LVTypeVisitor, LVSymbolVisitor, LVLogicalVisitor

Reviewed By: psamolysov, probinson, djtodoro, zequanwu

Differential Revision: https://reviews.llvm.org/D125784




More information about the All-commits mailing list