llvm/test/tools/llvm-objdump/coff-many-relocs.test
Rui Ueyama 99995267ae Object/COFF: Support large relocation table.
NumberOfRelocations field in COFF section table is only 16-bit wide. If an
object has more than 65535 relocations, the number of relocations is stored
to VirtualAddress field in the first relocation field, and a special flag
(IMAGE_SCN_LNK_NRELOC_OVFL) is set to Characteristics field.

In test we cheated a bit. I made up a test file so that it has
IMAGE_SCN_LNK_NRELOC_OVFL flag but the number of relocations is much smaller
than 65535. This is to avoid checking in a large test file just to test a
file with many relocations.

Differential Revision: http://llvm-reviews.chandlerc.com/D3139

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204418 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-21 00:44:19 +00:00

15 lines
556 B
Plaintext

// Test that llvm-objdump can handle IMAGE_SCN_LNK_NRELOC_OVFL.
// RUN: llvm-objdump -r %p/Inputs/many-relocs.obj-i386 | FileCheck %s
CHECK: RELOCATION RECORDS FOR [.text]:
CHECK-NEXT: IMAGE_REL_I386_DIR16 foo
CHECK-NEXT: IMAGE_REL_I386_REL16 foo
CHECK-NEXT: IMAGE_REL_I386_DIR32 foo
CHECK-NEXT: IMAGE_REL_I386_DIR32NB foo
CHECK-NEXT: IMAGE_REL_I386_SEG12 foo
CHECK-NEXT: IMAGE_REL_I386_SECTION foo
CHECK-NEXT: IMAGE_REL_I386_SECREL foo
CHECK-NEXT: IMAGE_REL_I386_TOKEN foo
CHECK-NEXT: IMAGE_REL_I386_SECREL7 foo
CHECK-NEXT: IMAGE_REL_I386_REL32 foo