aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/tools/llvm-objdump/XCOFF/private-headers-option.test
blob: db88f36e16503c15c27f6437cf0460e6dfd76d02 (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
## Test the --private-headers option for the loader section of XCOFF object files.

# RUN: yaml2obj --docnum=1 %s -o %t_xcoff32.o
# RUN: yaml2obj --docnum=2  %s -o %t_xcoff64.o
# RUN: llvm-objdump --private-headers %t_xcoff32.o |\
# RUN:   FileCheck %s --check-prefixes=CHECK32 --match-full-lines
# RUN: llvm-objdump --private-headers %t_xcoff64.o |\
# RUN:   FileCheck %s --check-prefixes=CHECK64 --match-full-lines

# RUN: yaml2obj --docnum=1 %s -o %t-truncate.o
# RUN: %python -c "with open('%/t-truncate.o', 'r+b') as input: input.truncate(60)"
# RUN: llvm-objdump --private-headers %t-truncate.o 2>&1 |\
# RUN:   FileCheck --check-prefix=WARN %s

# WARN: The end of the file was unexpectedly encountered: loader section with offset 0x3c and size 0x20 goes past the end of the file

--- !XCOFF
FileHeader:
  MagicNumber:       0x1DF
Sections:
  - Name:            .loader
    Flags:           [ STYP_LOADER ]
    SectionData:     "0000000100000003000000050000016D00000001000000A40000001800000211"
##                    ^-------                                                           -Version=1
##                            ^-------                                                   -NumberOfSymbolEntries=3
##                                    ^-------                                           -NumberOfRelocationEntries=5
##                                            ^-------                                   -LengthOfImportFileIDStringTable=365
##                                                    ^-------                           -NumberOfImportFileIDs=1
##                                                            ^-------                   -OffsetToImportFileIDs=0xA4
##                                                                    ^-------           -LengthOfStringTable=24
##                                                                            ^-------   -OffsetToStringTable=0x211


--- !XCOFF
FileHeader:
  MagicNumber:       0x1F7
Sections:
  - Name:            .loader
    Flags:           [ STYP_LOADER ]
    SectionData:     "0000000200000003000000050000016D000000010000002300000000000000D0000000000000023D00000000000000380000000000000080"
##                    ^-------                                                           -Version=2
##                            ^-------                                                   -NumberOfSymbolEntries=3
##                                    ^-------                                           -NumberOfRelocationEntries=5
##                                            ^-------                                   -LengthOfImportFileIDStringTable=365
##                                                    ^-------                           -NumberOfImportFileIDs=1
##                                                            ^-------                   --LengthOfStringTable=0x23
##                                                                    ^---------------   -OffsetToImportFileIDs=0xD0
##                                                                                    ^---------------                                        -OffsetToStringTable=0x23D
##                                                                                                    ^--------------                         -OffsetToSymbolTable=0x38
##                                                                                                                    ^---------------        -OffsetToRelocationEntries=0x80

# CHECK32:      ---File Header:
# CHECK32-NEXT: Magic:              0x1df
# CHECK32-NEXT: NumberOfSections:   1
# CHECK32-NEXT: Timestamp:          None (0)
# CHECK32-NEXT: SymbolTableOffset:  0x0
# CHECK32-NEXT: SymbolTableEntries: 0
# CHECK32-NEXT: OptionalHeaderSize: 0x0
# CHECK32-NEXT: Flags:              0x0

# CHECK32:      ---Loader Section Header:
# CHECK32-NEXT: Version:                           1
# CHECK32-NEXT: NumberOfSymbolEntries:             3
# CHECK32-NEXT: NumberOfRelocationEntries:         5
# CHECK32-NEXT: LengthOfImportFileIDStringTable:   365
# CHECK32-NEXT: NumberOfImportFileIDs:             1
# CHECK32-NEXT: OffsetToImportFileIDs:             0xa4
# CHECK32-NEXT: LengthOfStringTable:               24
# CHECK32-NEXT: OffsetToStringTable:               0x211

# CHECK64:      ---File Header:
# CHECK64-NEXT: Magic:              0x1f7
# CHECK64-NEXT: NumberOfSections:   1
# CHECK64-NEXT: Timestamp:          None (0)
# CHECK64-NEXT: SymbolTableOffset:  0x0
# CHECK64-NEXT: SymbolTableEntries: 0
# CHECK64-NEXT: OptionalHeaderSize: 0x0
# CHECK64-NEXT: Flags:              0x0

# CHECK64:      ---Loader Section Header:
# CHECK64-NEXT: Version:                           2
# CHECK64-NEXT: NumberOfSymbolEntries:             3
# CHECK64-NEXT: NumberOfRelocationEntries:         5
# CHECK64-NEXT: LengthOfImportFileIDStringTable:   365
# CHECK64-NEXT: NumberOfImportFileIDs:             1
# CHECK64-NEXT: OffsetToImportFileIDs:             0xd0
# CHECK64-NEXT: LengthOfStringTable:               35
# CHECK64-NEXT: OffsetToStringTable:               0x23d
# CHECK64-NEXT: OffsetToSymbolTable                0x38
# CHECK64-NEXT: OffsetToRelocationEntries          0x80