diff options
Diffstat (limited to 'llvm/test/tools')
-rw-r--r-- | llvm/test/tools/llvm-readobj/reloc_overflow.test | 80 | ||||
-rw-r--r-- | llvm/test/tools/llvm-readobj/xcoff-basic.test | 77 |
2 files changed, 157 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-readobj/reloc_overflow.test b/llvm/test/tools/llvm-readobj/reloc_overflow.test new file mode 100644 index 00000000000..accb9e0ab55 --- /dev/null +++ b/llvm/test/tools/llvm-readobj/reloc_overflow.test @@ -0,0 +1,80 @@ +# RUN: llvm-readobj --sections %p/Inputs/xcoff-reloc-overflow.o | \ +# RUN: FileCheck --check-prefix=SECOVERFLOW %s + +# RUN: llvm-readobj --relocs --expand-relocs %p/Inputs/xcoff-reloc-overflow.o | \ +# RUN: FileCheck --check-prefix=RELOCOVERFLOW %s + +# SECOVERFLOW: File: {{.*}}xcoff-reloc-overflow.o +# SECOVERFLOW-NEXT: Format: aixcoff-rs6000 +# SECOVERFLOW-NEXT: Arch: powerpc +# SECOVERFLOW-NEXT: AddressSize: 32bit +# SECOVERFLOW-NEXT: Sections [ +# SECOVERFLOW-NEXT: Section { +# SECOVERFLOW-NEXT: Index: 1 +# SECOVERFLOW-NEXT: Name: .text +# SECOVERFLOW-NEXT: PhysicalAddress: 0x0 +# SECOVERFLOW-NEXT: VirtualAddress: 0x0 +# SECOVERFLOW-NEXT: Size: 0x38 +# SECOVERFLOW-NEXT: RawDataOffset: 0x8C +# SECOVERFLOW-NEXT: RelocationPointer: 0x0 +# SECOVERFLOW-NEXT: LineNumberPointer: 0x0 +# SECOVERFLOW-NEXT: NumberOfRelocations: 0 +# SECOVERFLOW-NEXT: NumberOfLineNumbers: 0 +# SECOVERFLOW-NEXT: Type: STYP_TEXT (0x20) +# SECOVERFLOW-NEXT: } +# SECOVERFLOW-NEXT: Section { +# SECOVERFLOW-NEXT: Index: 2 +# SECOVERFLOW-NEXT: Name: .data +# SECOVERFLOW-NEXT: PhysicalAddress: 0x38 +# SECOVERFLOW-NEXT: VirtualAddress: 0x38 +# SECOVERFLOW-NEXT: Size: 0x1C +# SECOVERFLOW-NEXT: RawDataOffset: 0xC4 +# SECOVERFLOW-NEXT: RelocationPointer: 0xE0 +# SECOVERFLOW-NEXT: LineNumberPointer: 0x0 +# SECOVERFLOW-NEXT: NumberOfRelocations: 65535 +# SECOVERFLOW-NEXT: NumberOfLineNumbers: 65535 +# SECOVERFLOW-NEXT: Type: STYP_DATA (0x40) +# SECOVERFLOW-NEXT: } +# SECOVERFLOW-NEXT: Section { +# SECOVERFLOW-NEXT: Index: 3 +# SECOVERFLOW-NEXT: Name: .ovrflo +# SECOVERFLOW-NEXT: NumberOfRelocations: 3 +# SECOVERFLOW-NEXT: NumberOfLineNumbers: 3 +# SECOVERFLOW-NEXT: Size: 0x0 +# SECOVERFLOW-NEXT: RawDataOffset: 0x0 +# SECOVERFLOW-NEXT: RelocationPointer: 0xE0 +# SECOVERFLOW-NEXT: LineNumberPointer: 0x0 +# SECOVERFLOW-NEXT: IndexOfSectionOverflowed: 2 +# SECOVERFLOW-NEXT: IndexOfSectionOverflowed: 2 +# SECOVERFLOW-NEXT: Type: STYP_OVRFLO (0x8000) +# SECOVERFLOW-NEXT: } +# SECOVERFLOW-NEXT: ] + +# RELOCOVERFLOW: Relocations [ +# RELOCOVERFLOW-NEXT: Section (index: 2) .data { +# RELOCOVERFLOW-NEXT: Relocation { +# RELOCOVERFLOW-NEXT: Virtual Address: 0x38 +# RELOCOVERFLOW-NEXT: Symbol: .pb (4) +# RELOCOVERFLOW-NEXT: IsSigned: No +# RELOCOVERFLOW-NEXT: FixupBitValue: 0 +# RELOCOVERFLOW-NEXT: Length: 32 +# RELOCOVERFLOW-NEXT: Type: R_POS (0x0) +# RELOCOVERFLOW-NEXT: } +# RELOCOVERFLOW-NEXT: Relocation { +# RELOCOVERFLOW-NEXT: Virtual Address: 0x3C +# RELOCOVERFLOW-NEXT: Symbol: TOC (12) +# RELOCOVERFLOW-NEXT: IsSigned: No +# RELOCOVERFLOW-NEXT: FixupBitValue: 0 +# RELOCOVERFLOW-NEXT: Length: 32 +# RELOCOVERFLOW-NEXT: Type: R_POS (0x0) +# RELOCOVERFLOW-NEXT: } +# RELOCOVERFLOW-NEXT: Relocation { +# RELOCOVERFLOW-NEXT: Virtual Address: 0x50 +# RELOCOVERFLOW-NEXT: Symbol: .text (2) +# RELOCOVERFLOW-NEXT: IsSigned: No +# RELOCOVERFLOW-NEXT: FixupBitValue: 0 +# RELOCOVERFLOW-NEXT: Length: 32 +# RELOCOVERFLOW-NEXT: Type: R_POS (0x0) +# RELOCOVERFLOW-NEXT: } +# RELOCOVERFLOW-NEXT: } +# RELOCOVERFLOW-NEXT: ] diff --git a/llvm/test/tools/llvm-readobj/xcoff-basic.test b/llvm/test/tools/llvm-readobj/xcoff-basic.test index 4a6bdd1dbdf..8219f20e53d 100644 --- a/llvm/test/tools/llvm-readobj/xcoff-basic.test +++ b/llvm/test/tools/llvm-readobj/xcoff-basic.test @@ -10,6 +10,9 @@ # 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 @@ -81,3 +84,77 @@ # 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:] |