mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-14 03:29:57 +00:00
ee9906d884
Previously we were writing an empty globals stream. Windows tools interpret this as "private symbols are not present in this PDB", even when they are, so we need to fix this. Regardless, without it we don't have information about global variables, so we need to fix it anyway. This patch does that. With this patch, the "lm" command in WinDbg correctly reports that we have private symbols available, but the "dv" command still refuses to display local variables. Differential Revision: https://reviews.llvm.org/D36535 llvm-svn: 310743
86 lines
2.9 KiB
YAML
86 lines
2.9 KiB
YAML
# RUN: yaml2obj %s -o %t.obj
|
|
# RUN: lld-link -debug -entry:main -out:%t.exe -pdb:%t.pdb %t.obj
|
|
# RUN: llvm-pdbutil dump -globals %t.pdb | FileCheck %s
|
|
|
|
# There is an S_GDATA32 symbol record with .secrel32 and .secidx relocations in
|
|
# it in this debug info. This is similar to the relocations in the loadcfg.obj
|
|
# file in the MSVC CRT. We need to make sure that our relocation logic matches
|
|
# MSVC's for these absolute, linker-provided symbols.
|
|
|
|
# CHECK: Global Symbols
|
|
# CHECK-NEXT: ============================================================
|
|
# CHECK-NEXT: Records
|
|
# CHECK-NEXT: 20 | S_GDATA32 [size = 36] `__guard_fids_table`
|
|
# CHECK-NEXT: type = 0x0022 (unsigned long), addr = 0003:0000
|
|
|
|
--- !COFF
|
|
header:
|
|
Machine: IMAGE_FILE_MACHINE_AMD64
|
|
Characteristics: [ ]
|
|
sections:
|
|
- Name: '.debug$S'
|
|
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
|
|
Alignment: 1
|
|
Subsections:
|
|
- !Symbols
|
|
Records:
|
|
- Kind: S_GDATA32
|
|
DataSym:
|
|
Type: 34
|
|
DisplayName: __guard_fids_table
|
|
- !StringTable
|
|
Strings:
|
|
Relocations:
|
|
- VirtualAddress: 20
|
|
SymbolName: __guard_fids_table
|
|
Type: IMAGE_REL_AMD64_SECREL
|
|
- VirtualAddress: 24
|
|
SymbolName: __guard_fids_table
|
|
Type: IMAGE_REL_AMD64_SECTION
|
|
- Name: '.text$mn'
|
|
Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
|
|
Alignment: 16
|
|
SectionData: 488D0500000000C3
|
|
Relocations:
|
|
- VirtualAddress: 3
|
|
SymbolName: __guard_fids_table
|
|
Type: IMAGE_REL_AMD64_REL32
|
|
symbols:
|
|
- Name: '.debug$S'
|
|
Value: 0
|
|
SectionNumber: 1
|
|
SimpleType: IMAGE_SYM_TYPE_NULL
|
|
ComplexType: IMAGE_SYM_DTYPE_NULL
|
|
StorageClass: IMAGE_SYM_CLASS_STATIC
|
|
SectionDefinition:
|
|
Length: 372
|
|
NumberOfRelocations: 6
|
|
NumberOfLinenumbers: 0
|
|
CheckSum: 0
|
|
Number: 0
|
|
- Name: '.text$mn'
|
|
Value: 0
|
|
SectionNumber: 2
|
|
SimpleType: IMAGE_SYM_TYPE_NULL
|
|
ComplexType: IMAGE_SYM_DTYPE_NULL
|
|
StorageClass: IMAGE_SYM_CLASS_STATIC
|
|
SectionDefinition:
|
|
Length: 8
|
|
NumberOfRelocations: 1
|
|
NumberOfLinenumbers: 0
|
|
CheckSum: 1092178131
|
|
Number: 0
|
|
- Name: main
|
|
Value: 0
|
|
SectionNumber: 2
|
|
SimpleType: IMAGE_SYM_TYPE_NULL
|
|
ComplexType: IMAGE_SYM_DTYPE_FUNCTION
|
|
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
|
- Name: __guard_fids_table
|
|
Value: 0
|
|
SectionNumber: 0
|
|
SimpleType: IMAGE_SYM_TYPE_NULL
|
|
ComplexType: IMAGE_SYM_DTYPE_NULL
|
|
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
|
...
|