[all-commits] [llvm/llvm-project] f8499d: Emit the correct flags for the PROC CodeView Debug...

Daniel Paoliello via All-commits all-commits at lists.llvm.org
Tue May 16 10:59:08 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f8499d5709e37b4e9a6d2a39c385cfd2c00bad6e
      https://github.com/llvm/llvm-project/commit/f8499d5709e37b4e9a6d2a39c385cfd2c00bad6e
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2023-05-16 (Tue, 16 May 2023)

  Changed paths:
    M lldb/test/Shell/SymbolFile/PDB/function-nested-block.test
    M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
    M llvm/test/DebugInfo/COFF/fpo-realign-alloca.ll
    M llvm/test/DebugInfo/COFF/fpo-realign-vframe.ll
    M llvm/test/DebugInfo/COFF/frameproc-flags.ll
    M llvm/test/DebugInfo/COFF/function-options.ll
    M llvm/test/DebugInfo/COFF/inlining-header.ll
    M llvm/test/DebugInfo/COFF/inlining.ll
    M llvm/test/DebugInfo/COFF/long-name.ll
    M llvm/test/DebugInfo/COFF/multifunction.ll
    M llvm/test/DebugInfo/COFF/simple.ll
    M llvm/test/DebugInfo/COFF/types-array.ll
    M llvm/test/DebugInfo/COFF/types-basic.ll
    M llvm/test/MC/AArch64/coff-debug.ll

  Log Message:
  -----------
  Emit the correct flags for the PROC CodeView Debug Symbol

The S_LPROC32_ID and S_GPROC32_ID CodeView Debug Symbols have a flags
field which LLVM has had the values for (in the ProcSymFlags enum) but
has never actually set.

These flags are used by Microsoft-internal tooling that leverages debug
information to do binary analysis.

Modified LLVM to set the correct flags:

- ProcSymFlags::HasOptimizedDebugInfo - always set, as this indicates that
debug info is present for optimized builds (if debug info is not emitted
for optimized builds, then LLVM won't emit a debug symbol at all).
- ProcSymFlags::IsNoReturn and ProcSymFlags::IsNoInline - set if the
function has the NoReturn or NoInline attributes respectively.
- ProcSymFlags::HasFP - set if the function requires a frame pointer (per
TargetFrameLowering::hasFP).

Per discussion in review, XFAIL'ing lldb test until someone working on
lldb has a chance to look at it.

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




More information about the All-commits mailing list