| ## Test that llvm-readobj/llvm-readelf shows proper relocation type |
| ## names and values for coff-x64 target. |
| |
| # RUN: yaml2obj %s -o %t-coff-x86_64.o |
| # RUN: llvm-readobj -r --expand-relocs %t-coff-x86_64.o | FileCheck %s |
| |
| # CHECK: Type: IMAGE_REL_AMD64_ABSOLUTE (0) |
| # CHECK: Type: IMAGE_REL_AMD64_ADDR64 (1) |
| # CHECK: Type: IMAGE_REL_AMD64_ADDR32 (2) |
| # CHECK: Type: IMAGE_REL_AMD64_ADDR32NB (3) |
| # CHECK: Type: IMAGE_REL_AMD64_REL32 (4) |
| # CHECK: Type: IMAGE_REL_AMD64_REL32_1 (5) |
| # CHECK: Type: IMAGE_REL_AMD64_REL32_2 (6) |
| # CHECK: Type: IMAGE_REL_AMD64_REL32_3 (7) |
| # CHECK: Type: IMAGE_REL_AMD64_REL32_4 (8) |
| # CHECK: Type: IMAGE_REL_AMD64_REL32_5 (9) |
| # CHECK: Type: IMAGE_REL_AMD64_SECTION (10) |
| # CHECK: Type: IMAGE_REL_AMD64_SECREL (11) |
| # CHECK: Type: IMAGE_REL_AMD64_SECREL7 (12) |
| # CHECK: Type: IMAGE_REL_AMD64_TOKEN (13) |
| # CHECK: Type: IMAGE_REL_AMD64_SREL32 (14) |
| # CHECK: Type: IMAGE_REL_AMD64_PAIR (15) |
| # CHECK: Type: IMAGE_REL_AMD64_SSPAN32 (16) |
| |
| --- !COFF |
| header: |
| Machine: IMAGE_FILE_MACHINE_AMD64 |
| Characteristics: [ ] |
| sections: |
| - Name: .text |
| Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] |
| Alignment: 4 |
| SectionData: 00 |
| Relocations: |
| - VirtualAddress: 4 |
| Type: IMAGE_REL_AMD64_ABSOLUTE |
| - VirtualAddress: 12 |
| Type: IMAGE_REL_AMD64_ADDR64 |
| - VirtualAddress: 20 |
| Type: IMAGE_REL_AMD64_ADDR32 |
| - VirtualAddress: 28 |
| Type: IMAGE_REL_AMD64_ADDR32NB |
| - VirtualAddress: 36 |
| Type: IMAGE_REL_AMD64_REL32 |
| - VirtualAddress: 44 |
| Type: IMAGE_REL_AMD64_REL32_1 |
| - VirtualAddress: 52 |
| Type: IMAGE_REL_AMD64_REL32_2 |
| - VirtualAddress: 60 |
| Type: IMAGE_REL_AMD64_REL32_3 |
| - VirtualAddress: 68 |
| Type: IMAGE_REL_AMD64_REL32_4 |
| - VirtualAddress: 76 |
| Type: IMAGE_REL_AMD64_REL32_5 |
| - VirtualAddress: 84 |
| Type: IMAGE_REL_AMD64_SECTION |
| - VirtualAddress: 92 |
| Type: IMAGE_REL_AMD64_SECREL |
| - VirtualAddress: 100 |
| Type: IMAGE_REL_AMD64_SECREL7 |
| - VirtualAddress: 108 |
| Type: IMAGE_REL_AMD64_TOKEN |
| - VirtualAddress: 116 |
| Type: IMAGE_REL_AMD64_SREL32 |
| - VirtualAddress: 124 |
| Type: IMAGE_REL_AMD64_PAIR |
| - VirtualAddress: 132 |
| Type: IMAGE_REL_AMD64_SSPAN32 |
| symbols: |
| - Name: .text |
| Value: 0 |
| SectionNumber: 1 |
| SimpleType: IMAGE_SYM_TYPE_NULL |
| ComplexType: IMAGE_SYM_DTYPE_NULL |
| StorageClass: IMAGE_SYM_CLASS_STATIC |
| SectionDefinition: |
| Length: 136 |
| NumberOfRelocations: 17 |
| NumberOfLinenumbers: 0 |
| CheckSum: 0 |
| Number: 1 |