[llvm-bugs] [Bug 52028] New: lld-link ignoring /DEBUGTYPE:PDATA, FIXUP
via llvm-bugs
llvm-bugs at lists.llvm.org
Fri Oct 1 00:44:03 PDT 2021
https://bugs.llvm.org/show_bug.cgi?id=52028
Bug ID: 52028
Summary: lld-link ignoring /DEBUGTYPE:PDATA,FIXUP
Product: lld
Version: unspecified
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: COFF
Assignee: unassignedbugs at nondot.org
Reporter: julian.dietrich at ubisoft.com
CC: llvm-bugs at lists.llvm.org
Created attachment 25312
--> https://bugs.llvm.org/attachment.cgi?id=25312&action=edit
MSVC & LLVM Debug Streams in comparison after passing "/DEBUGTYPE:PDATA"
MSVC link.exe has an option called /DEBUGTYPE (see
https://docs.microsoft.com/en-us/cpp/build/reference/debugtype-debug-info-options?view=msvc-160)
which can embed certain sections from the generated PE file into the PDB.
The data is embedded as a so called "Debug Stream" which is simply a raw copy
of the section in the PE file.
This option makes it possible to unwind callstacks in minidumps without the
need of having the original PE file on disk.
Below you can see a cropped comparison between lld-link and link debug-streams:
lld-link debug streams:
*** DEBUG STREAMS
Stream: SECTIONHEADERS(9)
2E 74 65 78 74 00 00 00 - 86 5A 00 00 00 10 00 00 - 00 5C 00 00 00 04 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 20 00 00 60 |
.text....Z.......\.................. ..`
2E 72 64 61 74 61 00 00 - BC 38 00 00 00 70 00 00 - 00 3A 00 00 00 60 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 |
.rdata..╝8...p...:...`.............. at ..@
2E 64 61 74 61 00 00 00 - 30 07 00 00 00 B0 00 00 - 00 02 00 00 00 9A 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 C0 |
.data...0....░...................... at ..└
2E 70 64 61 74 61 00 00 - E0 0A 00 00 00 C0 00 00 - 00 0C 00 00 00 9C 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 |
.pdata..Ó....└...................... at ..@
2E 30 30 63 66 67 00 00 - 28 00 00 00 00 D0 00 00 - 00 02 00 00 00 A8 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 |
.00cfg..(....ð.......¿.............. at ..@
2E 67 65 68 63 6F 6E 74 - 08 00 00 00 00 E0 00 00 - 00 02 00 00 00 AA 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 |
.gehcont.....Ó.......¬.............. at ..@
2E 76 6F 6C 74 62 6C 00 - 1B 00 00 00 00 F0 00 00 - 00 02 00 00 00 AC 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 |
.voltbl.............¼..................
2E 72 73 72 63 00 00 00 - A8 01 00 00 00 00 01 00 - 00 02 00 00 00 AE 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 |
.rsrc...¿............«.............. at ..@
2E 72 65 6C 6F 63 00 00 - 68 00 00 00 00 10 01 00 - 00 02 00 00 00 B0 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 42 |
.reloc..h............░.............. at ..B
Summary :
No of Elems = 9
Sizeof(Elem) = 40
link debug streams:
*** DEBUG STREAMS
Stream: XDATA(4304)
01 | .
0D | .
05 | .
05 | .
...
00 | .
00 | .
Summary :
No of Elems = 4304
Sizeof(Elem) = 1
Stream: PDATA(3360)
00 | .
10 | .
00 | .
00 | .
1F | .
...
D3 | Ó
00 | .
00 | .
Summary :
No of Elems = 3360
Sizeof(Elem) = 1
Stream: SECTIONHEADERS(6)
2E 74 65 78 74 00 00 00 - 75 7E 00 00 00 10 00 00 - 00 80 00 00 00 04 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 20 00 00 60 |
.text...u~.......................... ..`
2E 72 64 61 74 61 00 00 - 22 5A 00 00 00 90 00 00 - 00 5C 00 00 00 84 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 |
.rdata.."Z.......\.................. at ..@
2E 64 61 74 61 00 00 00 - 58 07 00 00 00 F0 00 00 - 00 02 00 00 00 E0 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 C0 |
.data...X....ð.......à.............. at ..À
2E 70 64 61 74 61 00 00 - 20 0D 00 00 00 00 01 00 - 00 0E 00 00 00 E2 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 | .pdata..
............â.............. at ..@
2E 72 73 72 63 00 00 00 - E0 01 00 00 00 10 01 00 - 00 02 00 00 00 F0 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 |
.rsrc...à............ð.............. at ..@
2E 72 65 6C 6F 63 00 00 - C4 00 00 00 00 20 01 00 - 00 02 00 00 00 F2 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 42 | .reloc..Ä....
.......ò.............. at ..B
Summary :
No of Elems = 6
Sizeof(Elem) = 40
Full output of Dia2Dump has been attached to this report.
The data can be extracted from PDB files by compiling Dia2Dump and callin it
with the following command line: "Dia2Dump -dbg TestProject.pdb > dbg".
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20211001/0dc21c18/attachment.html>
More information about the llvm-bugs
mailing list