xref: /llvm-project/llvm/test/tools/llvm-readobj/XCOFF/file-header.test (revision b5abaea3c0de605c8145035b21a5ee492883ebd7)
181441cf4SEsme-Yi## This is a general test for the --file-header option.
281441cf4SEsme-Yi
381441cf4SEsme-Yi# RUN: yaml2obj %s -o %t1
481441cf4SEsme-Yi# RUN: llvm-readobj %t1 --file-header | \
581441cf4SEsme-Yi# RUN:   FileCheck %s --strict-whitespace --match-full-lines --check-prefix=FILEHEADER32
681441cf4SEsme-Yi
781441cf4SEsme-Yi#      FILEHEADER32:Format: aixcoff-rs6000
881441cf4SEsme-Yi# FILEHEADER32-NEXT:Arch: powerpc
981441cf4SEsme-Yi# FILEHEADER32-NEXT:AddressSize: 32bit
1081441cf4SEsme-Yi# FILEHEADER32-NEXT:FileHeader {
1181441cf4SEsme-Yi# FILEHEADER32-NEXT:  Magic: 0x1DF
1281441cf4SEsme-Yi# FILEHEADER32-NEXT:  NumberOfSections: 1
13e16713d8Szhijian# FILEHEADER32-NEXT:  TimeStamp: 1970-01-01 00:00:01 (0x1)
1481441cf4SEsme-Yi# FILEHEADER32-NEXT:  SymbolTableOffset: 0x3C
1581441cf4SEsme-Yi# FILEHEADER32-NEXT:  SymbolTableEntries: 1
1681441cf4SEsme-Yi# FILEHEADER32-NEXT:  OptionalHeaderSize: 0x0
1781441cf4SEsme-Yi# FILEHEADER32-NEXT:  Flags: 0x12
1881441cf4SEsme-Yi# FILEHEADER32-NEXT:}
1981441cf4SEsme-Yi
2081441cf4SEsme-Yi--- !XCOFF
2181441cf4SEsme-YiFileHeader:
2281441cf4SEsme-Yi  MagicNumber:          [[MAGIC=0x01DF]]
2381441cf4SEsme-Yi  CreationTime:         [[CREATTIME=1]]
2481441cf4SEsme-Yi  EntriesInSymbolTable: [[SYMBOLCOUNT=1]]
2581441cf4SEsme-Yi  NumberOfSections:     1
2681441cf4SEsme-Yi  AuxiliaryHeaderSize:  0
2781441cf4SEsme-Yi  Flags:                0x12
2881441cf4SEsme-YiSections:
2981441cf4SEsme-Yi  - Name: .text
3081441cf4SEsme-YiSymbols:
3181441cf4SEsme-Yi  - Name: foo
3281441cf4SEsme-Yi
3381441cf4SEsme-Yi# RUN: yaml2obj -DMAGIC=0x01F7 -DCREATTIME=0 %s -o %t2
3481441cf4SEsme-Yi# RUN: llvm-readobj %t2 --file-header | \
3581441cf4SEsme-Yi# RUN:   FileCheck %s --strict-whitespace --match-full-lines --check-prefix=FILEHEADER64
3681441cf4SEsme-Yi
3781441cf4SEsme-Yi#      FILEHEADER64:Format: aix5coff64-rs6000
3881441cf4SEsme-Yi# FILEHEADER64-NEXT:Arch: powerpc64
3981441cf4SEsme-Yi# FILEHEADER64-NEXT:AddressSize: 64bit
4081441cf4SEsme-Yi# FILEHEADER64-NEXT:FileHeader {
4181441cf4SEsme-Yi# FILEHEADER64-NEXT:  Magic: 0x1F7
4281441cf4SEsme-Yi# FILEHEADER64-NEXT:  NumberOfSections: 1
4381441cf4SEsme-Yi# FILEHEADER64-NEXT:  TimeStamp: None (0x0)
44*b5abaea3Sstephenpeckham# FILEHEADER64-NEXT:  SymbolTableOffset: 0x60
4581441cf4SEsme-Yi# FILEHEADER64-NEXT:  SymbolTableEntries: 1
4681441cf4SEsme-Yi# FILEHEADER64-NEXT:  OptionalHeaderSize: 0x0
4781441cf4SEsme-Yi# FILEHEADER64-NEXT:  Flags: 0x12
4881441cf4SEsme-Yi# FILEHEADER64-NEXT:}
4981441cf4SEsme-Yi
5081441cf4SEsme-Yi# RUN: yaml2obj -DCREATTIME=-1 %s -o %t3
5181441cf4SEsme-Yi# RUN: llvm-readobj %t3 --file-header | \
5281441cf4SEsme-Yi# RUN:   FileCheck %s --strict-whitespace --match-full-lines --check-prefix=NEGTIME
5381441cf4SEsme-Yi
5481441cf4SEsme-Yi# NEGTIME:FileHeader {
5581441cf4SEsme-Yi# NEGTIME:  TimeStamp: Reserved Value (0xFFFFFFFF)
5681441cf4SEsme-Yi# NEGTIME:}
5781441cf4SEsme-Yi
5881441cf4SEsme-Yi# RUN: yaml2obj -DSYMBOLCOUNT=-1 %s -o %t4
5981441cf4SEsme-Yi# RUN: llvm-readobj %t4 --file-header | \
6081441cf4SEsme-Yi# RUN:   FileCheck %s --strict-whitespace --match-full-lines --check-prefix=NEGSYMCOUNT
6181441cf4SEsme-Yi
6281441cf4SEsme-Yi# NEGSYMCOUNT:FileHeader {
6381441cf4SEsme-Yi# NEGSYMCOUNT:  SymbolTableEntries: Reserved Value (0xFFFFFFFF)
6481441cf4SEsme-Yi# NEGSYMCOUNT:}
65