• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: yaml2obj %s | llvm-readobj --file-headers -r --expand-relocs - | FileCheck %s --check-prefix COFF-I386
2# RUN: yaml2obj -o %t %s
3# RUN: llvm-readobj --file-headers -r --expand-relocs %t | FileCheck %s --check-prefix COFF-I386
4
5# COFF-I386:  Characteristics [ (0x200)
6# COFF-I386-NEXT:    IMAGE_FILE_DEBUG_STRIPPED (0x200)
7# COFF-I386-NEXT:  ]
8
9# COFF-I386:      Relocations [
10# COFF-I386-NEXT:   Section (1) .text {
11# COFF-I386-NEXT:     Relocation {
12# COFF-I386-NEXT:       Offset: 0xE
13# COFF-I386-NEXT:       Type: IMAGE_REL_I386_DIR32 (6)
14# COFF-I386-NEXT:       Symbol: L_.str
15# COFF-I386-NEXT:       SymbolIndex: 5
16# COFF-I386-NEXT:     }
17# COFF-I386-NEXT:     Relocation {
18# COFF-I386-NEXT:       Offset: 0x13
19# COFF-I386-NEXT:       Type: IMAGE_REL_I386_REL32 (20)
20# COFF-I386-NEXT:       Symbol: _puts
21# COFF-I386-NEXT:       SymbolIndex: 6
22# COFF-I386-NEXT:     }
23# COFF-I386-NEXT:     Relocation {
24# COFF-I386-NEXT:       Offset: 0x18
25# COFF-I386-NEXT:       Type: IMAGE_REL_I386_REL32 (20)
26# COFF-I386-NEXT:       Symbol: _SomeOtherFunction
27# COFF-I386-NEXT:       SymbolIndex: 7
28# COFF-I386-NEXT:     }
29# COFF-I386-NEXT:   }
30# COFF-I386-NEXT: ]
31
32!COFF
33header: !Header
34  Machine: IMAGE_FILE_MACHINE_I386 # (0x14c)
35  Characteristics: [ IMAGE_FILE_DEBUG_STRIPPED ]
36
37sections:
38  - !Section
39    Name: .text
40    Alignment: 16
41    Characteristics: [IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ, ] # 0x60500020
42    SectionData:  !hex "83EC0CC744240800000000C7042400000000E800000000E8000000008B44240883C40CC3" # |....D$.......$...............D$.....|
43
44    Relocations:
45      - !Relocation
46        VirtualAddress: 0xe
47        SymbolName: L_.str
48        Type: IMAGE_REL_I386_DIR32
49
50      - !Relocation
51        VirtualAddress: 0x13
52        SymbolName: _puts
53        Type: IMAGE_REL_I386_REL32
54
55      - !Relocation
56        VirtualAddress: 0x18
57        SymbolName: _SomeOtherFunction
58        Type: IMAGE_REL_I386_REL32
59
60  - !Section
61    Name: .data
62    Alignment: 1
63    Characteristics: [IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE, ] # 0xc0100040
64    SectionData:  !hex "48656C6C6F20576F726C642100" # |Hello World!.|
65
66symbols:
67  - !Symbol
68    Name: .text
69    Value: 0
70    SectionNumber: 1
71    SimpleType: IMAGE_SYM_TYPE_NULL # (0)
72    ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
73    StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
74    SectionDefinition:
75      Length:              36
76      NumberOfRelocations: 3
77      NumberOfLinenumbers: 0
78      CheckSum:            0
79      Number:              1
80
81  - !Symbol
82    Name: .data
83    Value: 0
84    SectionNumber: 2
85    SimpleType: IMAGE_SYM_TYPE_NULL # (0)
86    ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
87    StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
88    SectionDefinition:
89      Length:              13
90      NumberOfRelocations: 0
91      NumberOfLinenumbers: 0
92      CheckSum:            0
93      Number:              2
94
95  - !Symbol
96    Name: _main
97    Value: 0
98    SectionNumber: 1
99    SimpleType: IMAGE_SYM_TYPE_NULL # (0)
100    ComplexType: IMAGE_SYM_DTYPE_FUNCTION # (2)
101    StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
102
103  - !Symbol
104    Name: L_.str
105    Value: 0
106    SectionNumber: 2
107    SimpleType: IMAGE_SYM_TYPE_NULL # (0)
108    ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
109    StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
110
111  - !Symbol
112    Name: _puts
113    Value: 0
114    SectionNumber: 0
115    SimpleType: IMAGE_SYM_TYPE_NULL # (0)
116    ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
117    StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
118
119  - !Symbol
120    Name: _SomeOtherFunction
121    Value: 0
122    SectionNumber: 0
123    SimpleType: IMAGE_SYM_TYPE_NULL # (0)
124    ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
125    StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
126