diff options
author | Daniel Paoliello <danpao@microsoft.com> | 2023-05-16 10:58:10 -0700 |
---|---|---|
committer | Eli Friedman <efriedma@quicinc.com> | 2023-05-16 10:58:10 -0700 |
commit | f8499d5709e37b4e9a6d2a39c385cfd2c00bad6e (patch) | |
tree | 2ba4ae10b61ffc214ea371078a8c67387c2ed3ef /lldb | |
parent | 195621aacb96a4e2f49f5d888e2fc7af20e6e797 (diff) | |
download | llvm-f8499d5709e37b4e9a6d2a39c385cfd2c00bad6e.tar.gz |
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
Diffstat (limited to 'lldb')
-rw-r--r-- | lldb/test/Shell/SymbolFile/PDB/function-nested-block.test | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lldb/test/Shell/SymbolFile/PDB/function-nested-block.test b/lldb/test/Shell/SymbolFile/PDB/function-nested-block.test index 9057d01c2584..1cb20a403638 100644 --- a/lldb/test/Shell/SymbolFile/PDB/function-nested-block.test +++ b/lldb/test/Shell/SymbolFile/PDB/function-nested-block.test @@ -2,6 +2,7 @@ REQUIRES: system-windows, lld RUN: %build --compiler=clang-cl --nodefaultlib --output=%t.exe %S/Inputs/FunctionNestedBlockTest.cpp RUN: lldb-test symbols -find=function -file FunctionNestedBlockTest.cpp -line 4 %t.exe | FileCheck --check-prefix=CHECK-FUNCTION %s RUN: lldb-test symbols -find=block -file FunctionNestedBlockTest.cpp -line 4 %t.exe | FileCheck --check-prefix=CHECK-BLOCK %s +XFAIL: * CHECK-FUNCTION: Found 1 functions: CHECK-FUNCTION: name = "{{.*}}", mangled = "{{_?}}main" |