summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/yaml2obj/coff-symbol-index.yaml
blob: 7973b2558c507cee40ada060b600b610979a8a0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# RUN: yaml2obj %s -o %t
# RUN: llvm-readobj -r %t | FileCheck %s --check-prefix=RELOCS
# RUN: obj2yaml %t | FileCheck %s --check-prefix=YAML

# RELOCS:      Relocations [
# RELOCS-NEXT:   Section (1) .text {
# RELOCS-NEXT:     0x3 IMAGE_REL_AMD64_REL32 .rdata (0)
# RELOCS-NEXT:     0xA IMAGE_REL_AMD64_REL32 .rdata (1)
# RELOCS-NEXT:     0x11 IMAGE_REL_AMD64_REL32 foo (2)
# RELOCS-NEXT:   }
# RELOCS-NEXT: ]

# Check that we usually output relocations with SymbolName.
# For relocations with a non-unique symbol name, output
# SymbolTableIndex instead.

# YAML:          Relocations:     
# YAML-NEXT:       - VirtualAddress:  3
# YAML-NEXT:         SymbolTableIndex: 0
# YAML-NEXT:         Type:            IMAGE_REL_AMD64_REL32
# YAML-NEXT:       - VirtualAddress:  10
# YAML-NEXT:         SymbolTableIndex: 1
# YAML-NEXT:         Type:            IMAGE_REL_AMD64_REL32
# YAML-NEXT:       - VirtualAddress:  17
# YAML-NEXT:         SymbolName:      foo
# YAML-NEXT:         Type:            IMAGE_REL_AMD64_REL32

--- !COFF
header:          
  Machine:         IMAGE_FILE_MACHINE_AMD64
  Characteristics: [  ]
sections:        
  - Name:            .text
    Characteristics: [  ]
    Alignment:       4
    SectionData:     488B0500000000488B0500000000488B0500000000
    Relocations:     
      - VirtualAddress:  3
        SymbolTableIndex: 0
        Type:            IMAGE_REL_AMD64_REL32
      - VirtualAddress:  10
        SymbolTableIndex: 1
        Type:            IMAGE_REL_AMD64_REL32
      - VirtualAddress:  17
        SymbolName:      foo
        Type:            IMAGE_REL_AMD64_REL32
  - Name:            .rdata
    Characteristics: [  ]
    Alignment:       1
    SectionData:     '00'
  - Name:            .rdata
    Characteristics: [  ]
    Alignment:       1
    SectionData:     '01'
symbols:         
  - Name:            .rdata
    Value:           0
    SectionNumber:   2
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
  - Name:            .rdata
    Value:           0
    SectionNumber:   3
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
  - Name:            foo
    Value:           0
    SectionNumber:   3
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
...
OpenPOWER on IntegriCloud