diff options
author | nikitalita <69168929+nikitalita@users.noreply.github.com> | 2024-02-12 07:02:29 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-12 07:02:29 -0800 |
commit | 32eb95cc40d93bc5fb67e0b52531f7620204ec8c (patch) | |
tree | 6bc0980031bb43eec2d1b3d84af888c7b5d3a273 /llvm/tools | |
parent | 85598ae35aa61f1f5fcf9fd19657768985806d9f (diff) | |
download | llvm-32eb95cc40d93bc5fb67e0b52531f7620204ec8c.zip llvm-32eb95cc40d93bc5fb67e0b52531f7620204ec8c.tar.gz llvm-32eb95cc40d93bc5fb67e0b52531f7620204ec8c.tar.bz2 |
[DebugInfo] Update CodeView enums (#71038)
This adds the following values to the CodeView.h enums (and updates the
various functions that use them):
* CPUType:
* Added `Unknown`
* This is not currently documented in the online documentation, but this
is present in `cvconst.h` in the latest DIA SDK (Visual Studio 2022,
17.7.6)
* `Unknown` is the CPUType that is emitted by `aliasobj.exe` in the
Compile3Sym records, and can be found in objects that link with
`oldnames.lib`
![image](https://github.com/llvm/llvm-project/assets/69168929/8ee7b032-761b-45da-8439-d07aba797940)
* SourceLanguage (All of these are documented at
https://learn.microsoft.com/en-us/visualstudio/debugger/debug-interface-access/cv-cfl-lang?view=vs-2022
and are present in `cvconst.h` in the latest DIA SDK (Visual Studio
2022, 17.7.6))
* Added Go
* Added AliasObj
* emitted by `aliasobj.exe` in certain records, can be found in PDBs
that link with `oldnames.lib`
* Changed Swift to the official Microsoft enumeration
* Added `OldSwift`
* The old Swift enumeration of `S` was changed to `OldSwift` to allow
pdb dumping utilities to continue to emit correct source language
information for old PDBs
### WARNING
The `Swift` change is a potentially breaking change, as the swift
compiler will now emit `0x13` for the SourceLanguage type in PDB records
instead of `S`. This could potentially break utilities that relied on
the old enum value.
* CallType
* Added Swift
* This is not currently documented in the online documentation, but this
is present in `cvconst.h` in the latest DIA SDK (Visual Studio 2022,
17.7.6)
Diffstat (limited to 'llvm/tools')
-rw-r--r-- | llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp | 4 | ||||
-rw-r--r-- | llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp b/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp index 1beb2d2..479d025 100644 --- a/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp +++ b/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp @@ -213,6 +213,9 @@ static std::string formatSourceLanguage(SourceLanguage Lang) { RETURN_CASE(SourceLanguage, Rust, "rust"); RETURN_CASE(SourceLanguage, ObjC, "objc"); RETURN_CASE(SourceLanguage, ObjCpp, "objc++"); + RETURN_CASE(SourceLanguage, AliasObj, "aliasobj"); + RETURN_CASE(SourceLanguage, Go, "go"); + RETURN_CASE(SourceLanguage, OldSwift, "swift"); } return formatUnknownEnum(Lang); } @@ -282,6 +285,7 @@ static std::string formatMachineType(CPUType Cpu) { RETURN_CASE(CPUType, Thumb, "thumb"); RETURN_CASE(CPUType, ARMNT, "arm nt"); RETURN_CASE(CPUType, D3D11_Shader, "d3d11 shader"); + RETURN_CASE(CPUType, Unknown, "unknown"); } return formatUnknownEnum(Cpu); } diff --git a/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp b/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp index aaa430a..a407782 100644 --- a/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp +++ b/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp @@ -125,6 +125,7 @@ static std::string formatCallingConvention(CallingConvention Convention) { RETURN_CASE(CallingConvention, PpcCall, "ppccall"); RETURN_CASE(CallingConvention, SHCall, "shcall"); RETURN_CASE(CallingConvention, SH5Call, "sh5call"); + RETURN_CASE(CallingConvention, Swift, "swift"); RETURN_CASE(CallingConvention, ThisCall, "thiscall"); RETURN_CASE(CallingConvention, TriCall, "tricall"); } |