summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-readobj/reloc_overflow.test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/tools/llvm-readobj/reloc_overflow.test')
-rw-r--r--llvm/test/tools/llvm-readobj/reloc_overflow.test80
1 files changed, 80 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: ]
OpenPOWER on IntegriCloud