# RUN: llvm-readobj --file-header %p/Inputs/xcoff-basic.o | \
# RUN: FileCheck --check-prefix=FILEHEADER %s
#
# RUN: llvm-readobj --file-header %p/Inputs/xcoff-basic-64.o | \
# RUN: FileCheck --check-prefix=FILEHEADER64 %s

# RUN: llvm-readobj --file-header %p/Inputs/xcoff-basic-neg-time.o | \
# RUN: FileCheck --check-prefix=NEGTIME %s

# RUN: llvm-readobj --file-header %p/Inputs/xcoff-basic-neg-sym-count.o | \
# RUN: FileCheck --check-prefix=NEGSYMCOUNT %s

# RUN: llvm-readobj --relocs --expand-relocs %p/Inputs/xcoff-basic.o | \
# RUN: FileCheck --check-prefix=RELOCSEXP %s

# FILEHEADER:     File: {{.*}}xcoff-basic.o
# FILEHEADER-NEXT: Format: aixcoff-rs6000
# FILEHEADER-NEXT: Arch: powerpc
# FILEHEADER-NEXT: AddressSize: 32bit
# FILEHEADER-NEXT: FileHeader {
# FILEHEADER-NEXT:   Magic: 0x1DF
# FILEHEADER-NEXT:   NumberOfSections: 6
# FILEHEADER-NEXT:   TimeStamp: 2019-03-12T14:04:43Z (0x5C87BC7B)
# FILEHEADER-NEXT:   SymbolTableOffset: 0x52E
# FILEHEADER-NEXT:   SymbolTableEntries: 120
# FILEHEADER-NEXT:   OptionalHeaderSize: 0x1C
# FILEHEADER-NEXT:   Flags: 0x0
# FILEHEADER-NEXT: }

# FILEHEADER64:     File: {{.*}}xcoff-basic-64.o
# FILEHEADER64-NEXT:  Format: aix5coff64-rs6000
# FILEHEADER64-NEXT:  Arch: powerpc64
# FILEHEADER64-NEXT:  AddressSize: 64bit
# FILEHEADER64-NEXT:  FileHeader {
# FILEHEADER64-NEXT:    Magic: 0x1F7
# FILEHEADER64-NEXT:    NumberOfSections: 5
# FILEHEADER64-NEXT:    TimeStamp: 2019-03-18T20:03:47Z (0x5C8FF9A3)
# FILEHEADER64-NEXT:    SymbolTableOffset: 0x54C
# FILEHEADER64-NEXT:    SymbolTableEntries: 58
# FILEHEADER64-NEXT:    OptionalHeaderSize: 0x0
# FILEHEADER64-NEXT:    Flags: 0x0
# FILEHEADER64-NEXT:  }

# NEGTIME:     File: {{.*}}xcoff-basic-neg-time.o
# NEGTIME-NEXT:  Format: aixcoff-rs6000
# NEGTIME-NEXT:  Arch: powerpc
# NEGTIME-NEXT:  AddressSize: 32bit
# NEGTIME-NEXT:  FileHeader {
# NEGTIME-NEXT:    Magic: 0x1DF
# NEGTIME-NEXT:    NumberOfSections: 6
# NEGTIME-NEXT:    TimeStamp: Reserved Value (0xDC87BC7B)
# NEGTIME-NEXT:    SymbolTableOffset: 0x52E
# NEGTIME-NEXT:    SymbolTableEntries: 120
# NEGTIME-NEXT:    OptionalHeaderSize: 0x1C
# NEGTIME-NEXT:    Flags: 0x0
# NEGTIME-NEXT:  }

# NEGSYMCOUNT:     File: {{.*}}xcoff-basic-neg-sym-count.o
# NEGSYMCOUNT-NEXT:  Format: aixcoff-rs6000
# NEGSYMCOUNT-NEXT:  Arch: powerpc
# NEGSYMCOUNT-NEXT:  AddressSize: 32bit
# NEGSYMCOUNT-NEXT:  FileHeader {
# NEGSYMCOUNT-NEXT:    Magic: 0x1DF
# NEGSYMCOUNT-NEXT:    NumberOfSections: 5
# NEGSYMCOUNT-NEXT:    TimeStamp: 2019-03-12T14:04:43Z (0x5C87BC7B)
# NEGSYMCOUNT-NEXT:    SymbolTableOffset: 0x0
# NEGSYMCOUNT-NEXT:    SymbolTableEntries: Reserved Value (0x80000000)
# NEGSYMCOUNT-NEXT:    OptionalHeaderSize: 0x1C
# NEGSYMCOUNT-NEXT:    Flags: 0xD
# NEGSYMCOUNT-NEXT:  }

# xcoff-basic.o was compiled with `xlc -qtls -O3 -g -c xcoff-basic.c`
# from the following source:
# int a = 55;
# int b;
# __thread int j = 55;
# __thread double d;
# int A() { return a; }
# int B() { return b; }
# int J() { return j; }
# double D() { return d; }
#
# xcoff-basic-neg-time.o was manually edited to include a negative time stamp.
# xcoff-basic-neg-sym-count.o was stripped using the 'strip' utility, and
# manually edited to have a negative symbol table entry count.

# RELOCSEXP: File: {{.*}}xcoff-basic.o
# RELOCSEXP-NEXT: Format: aixcoff-rs6000
# RELOCSEXP-NEXT: Arch: powerpc
# RELOCSEXP-NEXT: AddressSize: 32bit
# RELOCSEXP-NEXT: Relocations [
# RELOCSEXP-NEXT:  Section (index: 1) .text {
# RELOCSEXP-NEXT:    Relocation {
# RELOCSEXP-NEXT:      Virtual Address: 0x2
# RELOCSEXP-NEXT:      Symbol: a (85)
# RELOCSEXP-NEXT:      IsSigned: Yes
# RELOCSEXP-NEXT:      FixupBitValue: 0
# RELOCSEXP-NEXT:      Length: 16
# RELOCSEXP-NEXT:      Type: R_TOC (0x3)
# RELOCSEXP-NEXT:    }

# RELOCSEXP:           Virtual Address: 0x90
# RELOCSEXP-NEXT:      Symbol: .__tls_get_addr (118)
# RELOCSEXP-NEXT:      IsSigned: Yes
# RELOCSEXP-NEXT:      FixupBitValue: 0
# RELOCSEXP-NEXT:      Length: 26
# RELOCSEXP-NEXT:      Type: R_RBA (0x18)
# RELOCSEXP-NEXT:    }
# RELOCSEXP-NEXT:  }
# RELOCSEXP-NEXT:  Section (index: 2) .data {
# RELOCSEXP-NEXT:    Relocation {
# RELOCSEXP-NEXT:      Virtual Address: 0x100
# RELOCSEXP-NEXT:      Symbol: A (78)
# RELOCSEXP-NEXT:      IsSigned: No
# RELOCSEXP-NEXT:      FixupBitValue: 0
# RELOCSEXP-NEXT:      Length: 32
# RELOCSEXP-NEXT:      Type: R_POS (0x0)
# RELOCSEXP-NEXT:    }

# RELOCSEXP:           Virtual Address: 0x110
# RELOCSEXP-NEXT:      Symbol: J (96)
# RELOCSEXP-NEXT:      IsSigned: No
# RELOCSEXP-NEXT:      FixupBitValue: 0
# RELOCSEXP-NEXT:      Length: 32
# RELOCSEXP-NEXT:      Type: R_POS (0x0)
# RELOCSEXP-NEXT:    }

# RELOCSEXP:          Virtual Address: 0x114
# RELOCSEXP-NEXT:     Symbol: j (100)
# RELOCSEXP-NEXT:     IsSigned: No
# RELOCSEXP-NEXT:     FixupBitValue: 0
# RELOCSEXP-NEXT:     Length: 32
# RELOCSEXP-NEXT:     Type: R_TLS (0x20)
# RELOCSEXP-NEXT:    }

# RELOCSEXP:          Virtual Address: 0x124
# RELOCSEXP-NEXT:     Symbol: d (111)
# RELOCSEXP-NEXT:     IsSigned: No
# RELOCSEXP-NEXT:     FixupBitValue: 0
# RELOCSEXP-NEXT:     Length: 32
# RELOCSEXP-NEXT:     Type: R_TLSM (0x24)
# RELOCSEXP-NEXT:    }

# RELOCSEXP:           Virtual Address: 0x128
# RELOCSEXP-NEXT:      Symbol: (76)
# RELOCSEXP-NEXT:      IsSigned: No
# RELOCSEXP-NEXT:      FixupBitValue: 0
# RELOCSEXP-NEXT:      Length: 32
# RELOCSEXP-NEXT:      Type: R_POS (0x0)
# RELOCSEXP-NEXT:    }

# RELOCSEXP:           Virtual Address: 0x154
# RELOCSEXP-NEXT:      Symbol: TOC (72)
# RELOCSEXP-NEXT:      IsSigned: No
# RELOCSEXP-NEXT:      FixupBitValue: 0
# RELOCSEXP-NEXT:      Length: 32
# RELOCSEXP-NEXT:      Type: R_POS (0x0)
# RELOCSEXP-NEXT:    }
# RELOCSEXP-NEXT:  }
# RELOCSEXP-NEXT:]
