The relocation offsets were incorrect. I fixed them with llvm-readobj
-codeview -codeview-subsection-bytes, which has a helpful printout of
the relocations that apply to a given symbol record with their offsets.
With this, I was able to update the relocation offsets in the yaml to
fix the line table and the S_DEFRANGE_REGISTER records.
There is still some remaining inconsistency in yaml2obj and obj2yaml
when round tripping MSVC objects, but that isn't a blocker for relanding
D94267.
- VirtualAddress: 154
SymbolName: main
Type: IMAGE_REL_AMD64_SECTION
- - VirtualAddress: 229
+ - VirtualAddress: 222
SymbolName: main
Type: IMAGE_REL_AMD64_SECREL
- - VirtualAddress: 233
+ - VirtualAddress: 226
SymbolName: main
Type: IMAGE_REL_AMD64_SECTION
- - VirtualAddress: 336
+ - VirtualAddress: 328
SymbolName: main
Type: IMAGE_REL_AMD64_SECREL
- - VirtualAddress: 340
+ - VirtualAddress: 332
SymbolName: main
Type: IMAGE_REL_AMD64_SECTION
- Name: .xdata