forked from OSchip/llvm-project
[XCOFF] [llvm-readobj] replace tests using binary as input
with tests generated by yaml2obj. Summary: Because yaml2obj supports basic transforming for XCOFF, some of the binary inputs used in the tests of llvm-readobj can be replaced with yaml files. Reviewed By: shchenz Differential Revision: https://reviews.llvm.org/D111699
This commit is contained in:
parent
0118a8044f
commit
81441cf44c
|
@ -24,7 +24,7 @@ struct FileHeader {
|
|||
uint16_t NumberOfSections;
|
||||
int32_t TimeStamp;
|
||||
llvm::yaml::Hex64 SymbolTableOffset;
|
||||
uint32_t NumberOfSymTableEntries;
|
||||
int32_t NumberOfSymTableEntries;
|
||||
uint16_t AuxHeaderSize;
|
||||
llvm::yaml::Hex16 Flags;
|
||||
};
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,160 +0,0 @@
|
|||
# RUN: llvm-readobj --file-header %p/Inputs/basic.o | \
|
||||
# RUN: FileCheck --check-prefix=FILEHEADER %s
|
||||
#
|
||||
# RUN: llvm-readobj --file-header %p/Inputs/basic64.o | \
|
||||
# RUN: FileCheck --check-prefix=FILEHEADER64 %s
|
||||
|
||||
# RUN: llvm-readobj --file-header %p/Inputs/basic-neg-time.o | \
|
||||
# RUN: FileCheck --check-prefix=NEGTIME %s
|
||||
|
||||
# RUN: llvm-readobj --file-header %p/Inputs/basic-neg-sym-count.o | \
|
||||
# RUN: FileCheck --check-prefix=NEGSYMCOUNT %s
|
||||
|
||||
# RUN: llvm-readobj --relocs --expand-relocs %p/Inputs/basic.o | \
|
||||
# RUN: FileCheck --check-prefix=RELOCSEXP %s
|
||||
|
||||
# FILEHEADER: File: {{.*}}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: {{.*}}basic64.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: {{.*}}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: {{.*}}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: {{.*}}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:]
|
|
@ -0,0 +1,65 @@
|
|||
## This is a general test for the --file-header option.
|
||||
|
||||
# RUN: yaml2obj %s -o %t1
|
||||
# RUN: llvm-readobj %t1 --file-header | \
|
||||
# RUN: FileCheck %s --strict-whitespace --match-full-lines --check-prefix=FILEHEADER32
|
||||
|
||||
# FILEHEADER32:Format: aixcoff-rs6000
|
||||
# FILEHEADER32-NEXT:Arch: powerpc
|
||||
# FILEHEADER32-NEXT:AddressSize: 32bit
|
||||
# FILEHEADER32-NEXT:FileHeader {
|
||||
# FILEHEADER32-NEXT: Magic: 0x1DF
|
||||
# FILEHEADER32-NEXT: NumberOfSections: 1
|
||||
# FILEHEADER32-NEXT: TimeStamp: 1970-01-01T00:00:01Z (0x1)
|
||||
# FILEHEADER32-NEXT: SymbolTableOffset: 0x3C
|
||||
# FILEHEADER32-NEXT: SymbolTableEntries: 1
|
||||
# FILEHEADER32-NEXT: OptionalHeaderSize: 0x0
|
||||
# FILEHEADER32-NEXT: Flags: 0x12
|
||||
# FILEHEADER32-NEXT:}
|
||||
|
||||
--- !XCOFF
|
||||
FileHeader:
|
||||
MagicNumber: [[MAGIC=0x01DF]]
|
||||
CreationTime: [[CREATTIME=1]]
|
||||
EntriesInSymbolTable: [[SYMBOLCOUNT=1]]
|
||||
NumberOfSections: 1
|
||||
OffsetToSymbolTable: 0x3C
|
||||
AuxiliaryHeaderSize: 0
|
||||
Flags: 0x12
|
||||
Sections:
|
||||
- Name: .text
|
||||
Symbols:
|
||||
- Name: foo
|
||||
|
||||
# RUN: yaml2obj -DMAGIC=0x01F7 -DCREATTIME=0 %s -o %t2
|
||||
# RUN: llvm-readobj %t2 --file-header | \
|
||||
# RUN: FileCheck %s --strict-whitespace --match-full-lines --check-prefix=FILEHEADER64
|
||||
|
||||
# FILEHEADER64:Format: aix5coff64-rs6000
|
||||
# FILEHEADER64-NEXT:Arch: powerpc64
|
||||
# FILEHEADER64-NEXT:AddressSize: 64bit
|
||||
# FILEHEADER64-NEXT:FileHeader {
|
||||
# FILEHEADER64-NEXT: Magic: 0x1F7
|
||||
# FILEHEADER64-NEXT: NumberOfSections: 1
|
||||
# FILEHEADER64-NEXT: TimeStamp: None (0x0)
|
||||
# FILEHEADER64-NEXT: SymbolTableOffset: 0x3C
|
||||
# FILEHEADER64-NEXT: SymbolTableEntries: 1
|
||||
# FILEHEADER64-NEXT: OptionalHeaderSize: 0x0
|
||||
# FILEHEADER64-NEXT: Flags: 0x12
|
||||
# FILEHEADER64-NEXT:}
|
||||
|
||||
# RUN: yaml2obj -DCREATTIME=-1 %s -o %t3
|
||||
# RUN: llvm-readobj %t3 --file-header | \
|
||||
# RUN: FileCheck %s --strict-whitespace --match-full-lines --check-prefix=NEGTIME
|
||||
|
||||
# NEGTIME:FileHeader {
|
||||
# NEGTIME: TimeStamp: Reserved Value (0xFFFFFFFF)
|
||||
# NEGTIME:}
|
||||
|
||||
# RUN: yaml2obj -DSYMBOLCOUNT=-1 %s -o %t4
|
||||
# RUN: llvm-readobj %t4 --file-header | \
|
||||
# RUN: FileCheck %s --strict-whitespace --match-full-lines --check-prefix=NEGSYMCOUNT
|
||||
|
||||
# NEGSYMCOUNT:FileHeader {
|
||||
# NEGSYMCOUNT: SymbolTableEntries: Reserved Value (0xFFFFFFFF)
|
||||
# NEGSYMCOUNT:}
|
|
@ -0,0 +1,68 @@
|
|||
## Test how relocations are dumped.
|
||||
|
||||
# RUN: yaml2obj %s -o %t
|
||||
# RUN: llvm-readobj --relocs --expand-relocs %t | \
|
||||
# RUN: FileCheck %s --strict-whitespace --match-full-lines --check-prefix=RELOCSEXP
|
||||
|
||||
## TODO: Output of relocations not aligned.
|
||||
|
||||
# RELOCSEXP:Relocations [
|
||||
# RELOCSEXP-NEXT: Section (index: 1) .text {
|
||||
# RELOCSEXP-NEXT: Relocation {
|
||||
# RELOCSEXP-NEXT: Virtual Address: 0x80
|
||||
# RELOCSEXP-NEXT: Symbol: foo (0)
|
||||
# RELOCSEXP-NEXT: IsSigned: No
|
||||
# RELOCSEXP-NEXT: FixupBitValue: 0
|
||||
# RELOCSEXP-NEXT: Length: 22
|
||||
# RELOCSEXP-NEXT: Type: R_POS (0x0)
|
||||
# RELOCSEXP-NEXT: }
|
||||
# RELOCSEXP-NEXT: Relocation {
|
||||
# RELOCSEXP-NEXT: Virtual Address: 0x100
|
||||
# RELOCSEXP-NEXT: Symbol: foo (0)
|
||||
# RELOCSEXP-NEXT: IsSigned: No
|
||||
# RELOCSEXP-NEXT: FixupBitValue: 0
|
||||
# RELOCSEXP-NEXT: Length: 21
|
||||
# RELOCSEXP-NEXT: Type: R_REL (0x2)
|
||||
# RELOCSEXP-NEXT: }
|
||||
# RELOCSEXP-NEXT:}
|
||||
# RELOCSEXP-NEXT:Section (index: 2) .data {
|
||||
# RELOCSEXP-NEXT:Relocation {
|
||||
# RELOCSEXP-NEXT: Virtual Address: 0x200
|
||||
# RELOCSEXP-NEXT: Symbol: bar (1)
|
||||
# RELOCSEXP-NEXT: IsSigned: No
|
||||
# RELOCSEXP-NEXT: FixupBitValue: 0
|
||||
# RELOCSEXP-NEXT: Length: 20
|
||||
# RELOCSEXP-NEXT: Type: R_TOC (0x3)
|
||||
# RELOCSEXP-NEXT:}
|
||||
# RELOCSEXP-NEXT:}
|
||||
# RELOCSEXP-NEXT:]
|
||||
|
||||
--- !XCOFF
|
||||
FileHeader:
|
||||
MagicNumber: 0x01DF
|
||||
Sections:
|
||||
- Name: .text
|
||||
Flags: [ STYP_TEXT ]
|
||||
Relocations:
|
||||
- Address: 0x80
|
||||
Symbol: 0x0
|
||||
Info: 0x15
|
||||
Type: 0x0
|
||||
- Address: 0x100
|
||||
Symbol: 0x0
|
||||
Info: 0x14
|
||||
Type: 0x2
|
||||
- Name: .data
|
||||
Flags: [ STYP_DATA ]
|
||||
Relocations:
|
||||
- Address: 0x200
|
||||
Symbol: 0x1
|
||||
Info: 0x13
|
||||
Type: 0x3
|
||||
Symbols:
|
||||
- Name: foo
|
||||
Value: 0x0
|
||||
Section: .text
|
||||
- Name: bar
|
||||
Value: 0x80
|
||||
Section: .data
|
|
@ -1,164 +1,89 @@
|
|||
# RUN: llvm-readobj --section-headers %p/Inputs/basic.o | \
|
||||
# RUN: FileCheck --check-prefix=SEC32 %s
|
||||
## This is a general test for the --section-headers option.
|
||||
|
||||
# RUN: llvm-readobj --section-headers %p/Inputs/basic64.o | \
|
||||
# RUN: FileCheck --check-prefix=SEC64 %s
|
||||
# RUN: yaml2obj %s -o %t1
|
||||
# RUN: llvm-readobj --section-headers %t1 | \
|
||||
# RUN: FileCheck --strict-whitespace --match-full-lines --check-prefix=SEC32 %s
|
||||
|
||||
# SEC32: File: {{.*}}basic.o
|
||||
# SEC32-NEXT: Format: aixcoff-rs6000
|
||||
# SEC32-NEXT: Arch: powerpc
|
||||
# SEC32-NEXT: AddressSize: 32bit
|
||||
# SEC32-NEXT: Sections [
|
||||
# SEC32-NEXT: Section {
|
||||
# SEC32-NEXT: Index: 1
|
||||
# SEC32-NEXT: Name: .text
|
||||
# SEC32-NEXT: PhysicalAddress: 0x0
|
||||
# SEC32-NEXT: VirtualAddress: 0x0
|
||||
# SEC32-NEXT: Size: 0x100
|
||||
# SEC32-NEXT: RawDataOffset: 0x200
|
||||
# SEC32-NEXT: RelocationPointer: 0x3D8
|
||||
# SEC32-NEXT: LineNumberPointer: 0x4E6
|
||||
# SEC32-NEXT: NumberOfRelocations: 8
|
||||
# SEC32-NEXT: NumberOfLineNumbers: 12
|
||||
# SEC32-NEXT: Type: STYP_TEXT (0x20)
|
||||
# SEC32-NEXT: }
|
||||
# SEC32-NEXT: Section {
|
||||
# SEC32-NEXT: Index: 2
|
||||
# SEC32-NEXT: Name: .data
|
||||
# SEC32-NEXT: PhysicalAddress: 0x100
|
||||
# SEC32-NEXT: VirtualAddress: 0x100
|
||||
# SEC32-NEXT: Size: 0x68
|
||||
# SEC32-NEXT: RawDataOffset: 0x300
|
||||
# SEC32-NEXT: RelocationPointer: 0x428
|
||||
# SEC32-NEXT: LineNumberPointer: 0x0
|
||||
# SEC32-NEXT: NumberOfRelocations: 19
|
||||
# SEC32-NEXT: NumberOfLineNumbers: 0
|
||||
# SEC32-NEXT: Type: STYP_DATA (0x40)
|
||||
# SEC32-NEXT: }
|
||||
# SEC32-NEXT: Section {
|
||||
# SEC32-NEXT: Index: 3
|
||||
# SEC32-NEXT: Name: .bss
|
||||
# SEC32-NEXT: PhysicalAddress: 0x168
|
||||
# SEC32-NEXT: VirtualAddress: 0x168
|
||||
# SEC32-NEXT: Size: 0x4
|
||||
# SEC32-NEXT: RawDataOffset: 0x0
|
||||
# SEC32-NEXT: RelocationPointer: 0x0
|
||||
# SEC32-NEXT: LineNumberPointer: 0x0
|
||||
# SEC32-NEXT: NumberOfRelocations: 0
|
||||
# SEC32-NEXT: NumberOfLineNumbers: 0
|
||||
# SEC32-NEXT: Type: STYP_BSS (0x80)
|
||||
# SEC32-NEXT: }
|
||||
# SEC32-NEXT: Section {
|
||||
# SEC32-NEXT: Index: 4
|
||||
# SEC32-NEXT: Name: .tdata
|
||||
# SEC32-NEXT: PhysicalAddress: 0x0
|
||||
# SEC32-NEXT: VirtualAddress: 0x0
|
||||
# SEC32-NEXT: Size: 0x4
|
||||
# SEC32-NEXT: RawDataOffset: 0x368
|
||||
# SEC32-NEXT: RelocationPointer: 0x47A
|
||||
# SEC32-NEXT: LineNumberPointer: 0x0
|
||||
# SEC32-NEXT: NumberOfRelocations: 0
|
||||
# SEC32-NEXT: NumberOfLineNumbers: 0
|
||||
# SEC32-NEXT: Type: STYP_TDATA (0x400)
|
||||
# SEC32-NEXT: }
|
||||
# SEC32-NEXT: Section {
|
||||
# SEC32-NEXT: Index: 5
|
||||
# SEC32-NEXT: Name: .tbss
|
||||
# SEC32-NEXT: PhysicalAddress: 0x4
|
||||
# SEC32-NEXT: VirtualAddress: 0x4
|
||||
# SEC32-NEXT: Size: 0x8
|
||||
# SEC32-NEXT: RawDataOffset: 0x0
|
||||
# SEC32-NEXT: RelocationPointer: 0x0
|
||||
# SEC32-NEXT: LineNumberPointer: 0x0
|
||||
# SEC32-NEXT: NumberOfRelocations: 0
|
||||
# SEC32-NEXT: NumberOfLineNumbers: 0
|
||||
# SEC32-NEXT: Type: STYP_TBSS (0x800)
|
||||
# SEC32-NEXT: }
|
||||
# SEC32-NEXT: Section {
|
||||
# SEC32-NEXT: Index: 6
|
||||
# SEC32-NEXT: Name: .debug
|
||||
# SEC32-NEXT: PhysicalAddress: 0x0
|
||||
# SEC32-NEXT: VirtualAddress: 0x0
|
||||
# SEC32-NEXT: Size: 0x6C
|
||||
# SEC32-NEXT: RawDataOffset: 0x36C
|
||||
# SEC32-NEXT: RelocationPointer: 0x0
|
||||
# SEC32-NEXT: LineNumberPointer: 0x0
|
||||
# SEC32-NEXT: NumberOfRelocations: 0
|
||||
# SEC32-NEXT: NumberOfLineNumbers: 0
|
||||
# SEC32-NEXT: Type: STYP_DEBUG (0x2000)
|
||||
# SEC32-NEXT: }
|
||||
# SEC32-NEXT: ]
|
||||
# SEC32:Format: aixcoff-rs6000
|
||||
# SEC32-NEXT:Arch: powerpc
|
||||
# SEC32-NEXT:AddressSize: 32bit
|
||||
# SEC32-NEXT:Sections [
|
||||
# SEC32-NEXT: Section {
|
||||
# SEC32-NEXT: Index: 1
|
||||
# SEC32-NEXT: Name: .text
|
||||
# SEC32-NEXT: PhysicalAddress: 0x0
|
||||
# SEC32-NEXT: VirtualAddress: 0x0
|
||||
# SEC32-NEXT: Size: 0x4
|
||||
# SEC32-NEXT: RawDataOffset: 0x64
|
||||
# SEC32-NEXT: RelocationPointer: 0x0
|
||||
# SEC32-NEXT: LineNumberPointer: 0x0
|
||||
# SEC32-NEXT: NumberOfRelocations: 0
|
||||
# SEC32-NEXT: NumberOfLineNumbers: 0
|
||||
# SEC32-NEXT: Type: STYP_TEXT (0x20)
|
||||
# SEC32-NEXT: }
|
||||
# SEC32-NEXT: Section {
|
||||
# SEC32-NEXT: Index: 2
|
||||
# SEC32-NEXT: Name: .data
|
||||
# SEC32-NEXT: PhysicalAddress: 0x4
|
||||
# SEC32-NEXT: VirtualAddress: 0x4
|
||||
# SEC32-NEXT: Size: 0x4
|
||||
# SEC32-NEXT: RawDataOffset: 0x68
|
||||
# SEC32-NEXT: RelocationPointer: 0x6C
|
||||
# SEC32-NEXT: LineNumberPointer: 0x0
|
||||
# SEC32-NEXT: NumberOfRelocations: 1
|
||||
# SEC32-NEXT: NumberOfLineNumbers: 0
|
||||
# SEC32-NEXT: Type: STYP_DATA (0x40)
|
||||
# SEC32-NEXT: }
|
||||
# SEC32-NEXT:]
|
||||
|
||||
--- !XCOFF
|
||||
FileHeader:
|
||||
MagicNumber: [[MAGIC=0x1DF]]
|
||||
Sections:
|
||||
- Name: .text
|
||||
Flags: [ STYP_TEXT ]
|
||||
SectionData: "1234"
|
||||
- Name: .data
|
||||
Flags: [ STYP_DATA ]
|
||||
SectionData: "5678"
|
||||
Relocations:
|
||||
- Address: 0x80
|
||||
Symbol: 0x21
|
||||
Info: 0x1F
|
||||
Type: 0x0
|
||||
|
||||
# SEC64: File: {{.*}}basic64.o
|
||||
# SEC64-NEXT: Format: aix5coff64-rs6000
|
||||
# SEC64-NEXT: Arch: powerpc64
|
||||
# SEC64-NEXT: AddressSize: 64bit
|
||||
# SEC64-NEXT: Sections [
|
||||
# SEC64-NEXT: Section {
|
||||
# SEC64-NEXT: Index: 1
|
||||
# SEC64-NEXT: Name: .text
|
||||
# SEC64-NEXT: PhysicalAddress: 0x0
|
||||
# SEC64-NEXT: VirtualAddress: 0x0
|
||||
# SEC64-NEXT: Size: 0x100
|
||||
# SEC64-NEXT: RawDataOffset: 0x200
|
||||
# SEC64-NEXT: RelocationPointer: 0x3C4
|
||||
# SEC64-NEXT: LineNumberPointer: 0x0
|
||||
# SEC64-NEXT: NumberOfRelocations: 9
|
||||
# SEC64-NEXT: NumberOfLineNumbers: 0
|
||||
# SEC64-NEXT: Type: STYP_TEXT (0x20)
|
||||
# SEC64-NEXT: }
|
||||
# SEC64-NEXT: Section {
|
||||
# SEC64-NEXT: Index: 2
|
||||
# SEC64-NEXT: Name: .data
|
||||
# SEC64-NEXT: PhysicalAddress: 0x100
|
||||
# SEC64-NEXT: VirtualAddress: 0x100
|
||||
# SEC64-NEXT: Size: 0xC0
|
||||
# SEC64-NEXT: RawDataOffset: 0x300
|
||||
# SEC64-NEXT: RelocationPointer: 0x442
|
||||
# SEC64-NEXT: LineNumberPointer: 0x0
|
||||
# SEC64-NEXT: NumberOfRelocations: 19
|
||||
# SEC64-NEXT: NumberOfLineNumbers: 0
|
||||
# SEC64-NEXT: Type: STYP_DATA (0x40)
|
||||
# SEC64-NEXT: }
|
||||
# SEC64-NEXT: Section {
|
||||
# SEC64-NEXT: Index: 3
|
||||
# SEC64-NEXT: Name: .bss
|
||||
# SEC64-NEXT: PhysicalAddress: 0x1C0
|
||||
# SEC64-NEXT: VirtualAddress: 0x1C0
|
||||
# SEC64-NEXT: Size: 0x8
|
||||
# SEC64-NEXT: RawDataOffset: 0x0
|
||||
# SEC64-NEXT: RelocationPointer: 0x0
|
||||
# SEC64-NEXT: LineNumberPointer: 0x0
|
||||
# SEC64-NEXT: NumberOfRelocations: 0
|
||||
# SEC64-NEXT: NumberOfLineNumbers: 0
|
||||
# SEC64-NEXT: Type: STYP_BSS (0x80)
|
||||
# SEC64-NEXT: }
|
||||
# SEC64-NEXT: Section {
|
||||
# SEC64-NEXT: Index: 4
|
||||
# SEC64-NEXT: Name: .tdata
|
||||
# SEC64-NEXT: PhysicalAddress: 0x0
|
||||
# SEC64-NEXT: VirtualAddress: 0x0
|
||||
# SEC64-NEXT: Size: 0x4
|
||||
# SEC64-NEXT: RawDataOffset: 0x3C0
|
||||
# SEC64-NEXT: RelocationPointer: 0x54C
|
||||
# SEC64-NEXT: LineNumberPointer: 0x0
|
||||
# SEC64-NEXT: NumberOfRelocations: 0
|
||||
# SEC64-NEXT: NumberOfLineNumbers: 0
|
||||
# SEC64-NEXT: Type: STYP_TDATA (0x400)
|
||||
# SEC64-NEXT: }
|
||||
# SEC64-NEXT: Section {
|
||||
# SEC64-NEXT: Index: 5
|
||||
# SEC64-NEXT: Name: .tbss
|
||||
# SEC64-NEXT: PhysicalAddress: 0x4
|
||||
# SEC64-NEXT: VirtualAddress: 0x4
|
||||
# SEC64-NEXT: Size: 0x8
|
||||
# SEC64-NEXT: RawDataOffset: 0x0
|
||||
# SEC64-NEXT: RelocationPointer: 0x0
|
||||
# SEC64-NEXT: LineNumberPointer: 0x0
|
||||
# SEC64-NEXT: NumberOfRelocations: 0
|
||||
# SEC64-NEXT: NumberOfLineNumbers: 0
|
||||
# SEC64-NEXT: Type: STYP_TBSS (0x800)
|
||||
# SEC64-NEXT: }
|
||||
# SEC64-NEXT: ]
|
||||
# RUN: yaml2obj -DMAGIC=0x01F7 %s -o %t2
|
||||
# RUN: llvm-readobj --section-headers %t2 | \
|
||||
# RUN: FileCheck --strict-whitespace --match-full-lines --check-prefix=SEC64 %s
|
||||
|
||||
# SEC64:Format: aix5coff64-rs6000
|
||||
# SEC64-NEXT:Arch: powerpc64
|
||||
# SEC64-NEXT:AddressSize: 64bit
|
||||
# SEC64-NEXT:Sections [
|
||||
# SEC64-NEXT: Section {
|
||||
# SEC64-NEXT: Index: 1
|
||||
# SEC64-NEXT: Name: .text
|
||||
# SEC64-NEXT: PhysicalAddress: 0x0
|
||||
# SEC64-NEXT: VirtualAddress: 0x0
|
||||
# SEC64-NEXT: Size: 0x4
|
||||
# SEC64-NEXT: RawDataOffset: 0xA8
|
||||
# SEC64-NEXT: RelocationPointer: 0x0
|
||||
# SEC64-NEXT: LineNumberPointer: 0x0
|
||||
# SEC64-NEXT: NumberOfRelocations: 0
|
||||
# SEC64-NEXT: NumberOfLineNumbers: 0
|
||||
# SEC64-NEXT: Type: STYP_TEXT (0x20)
|
||||
# SEC64-NEXT: }
|
||||
# SEC64-NEXT: Section {
|
||||
# SEC64-NEXT: Index: 2
|
||||
# SEC64-NEXT: Name: .data
|
||||
# SEC64-NEXT: PhysicalAddress: 0x4
|
||||
# SEC64-NEXT: VirtualAddress: 0x4
|
||||
# SEC64-NEXT: Size: 0x4
|
||||
# SEC64-NEXT: RawDataOffset: 0xAC
|
||||
# SEC64-NEXT: RelocationPointer: 0xB0
|
||||
# SEC64-NEXT: LineNumberPointer: 0x0
|
||||
# SEC64-NEXT: NumberOfRelocations: 1
|
||||
# SEC64-NEXT: NumberOfLineNumbers: 0
|
||||
# SEC64-NEXT: Type: STYP_DATA (0x40)
|
||||
# SEC64-NEXT: }
|
||||
# SEC64-NEXT:]
|
||||
|
|
Loading…
Reference in New Issue