| # REQUIRES: arm |
| |
| # .global main |
| # .global variable |
| # .text |
| # .thumb |
| #main: |
| # movw r0, :lower16:variable |
| # nop |
| # movt r0, :upper16:variable |
| # ldr r0, [r0] |
| # bx lr |
| # .data |
| #variable: |
| # .long 42 |
| |
| # RUN: yaml2obj %s -o %t.obj |
| # RUN: not lld-link -out:%t.exe -entry:main %t.obj 2>&1 | FileCheck %s |
| |
| # CHECK: error: unexpected instruction in MOVT instruction in MOV32T relocation |
| |
| --- !COFF |
| header: |
| Machine: IMAGE_FILE_MACHINE_ARMNT |
| Characteristics: [ ] |
| sections: |
| - Name: .text |
| Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] |
| Alignment: 4 |
| SectionData: 40F2000000BFC0F2000000687047 |
| Relocations: |
| - VirtualAddress: 0 |
| SymbolName: variable |
| Type: IMAGE_REL_ARM_MOV32T |
| - Name: .data |
| Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] |
| Alignment: 4 |
| SectionData: 2A000000 |
| - Name: .bss |
| Characteristics: [ IMAGE_SCN_CNT_UNINITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] |
| Alignment: 4 |
| SectionData: '' |
| symbols: |
| - Name: .text |
| Value: 0 |
| SectionNumber: 1 |
| SimpleType: IMAGE_SYM_TYPE_NULL |
| ComplexType: IMAGE_SYM_DTYPE_NULL |
| StorageClass: IMAGE_SYM_CLASS_STATIC |
| SectionDefinition: |
| Length: 14 |
| NumberOfRelocations: 1 |
| NumberOfLinenumbers: 0 |
| CheckSum: 2762100735 |
| Number: 1 |
| - Name: .data |
| Value: 0 |
| SectionNumber: 2 |
| SimpleType: IMAGE_SYM_TYPE_NULL |
| ComplexType: IMAGE_SYM_DTYPE_NULL |
| StorageClass: IMAGE_SYM_CLASS_STATIC |
| SectionDefinition: |
| Length: 4 |
| NumberOfRelocations: 0 |
| NumberOfLinenumbers: 0 |
| CheckSum: 3482275674 |
| Number: 2 |
| - Name: .bss |
| Value: 0 |
| SectionNumber: 3 |
| SimpleType: IMAGE_SYM_TYPE_NULL |
| ComplexType: IMAGE_SYM_DTYPE_NULL |
| StorageClass: IMAGE_SYM_CLASS_STATIC |
| SectionDefinition: |
| Length: 0 |
| NumberOfRelocations: 0 |
| NumberOfLinenumbers: 0 |
| CheckSum: 0 |
| Number: 3 |
| - Name: main |
| Value: 0 |
| SectionNumber: 1 |
| SimpleType: IMAGE_SYM_TYPE_NULL |
| ComplexType: IMAGE_SYM_DTYPE_NULL |
| StorageClass: IMAGE_SYM_CLASS_EXTERNAL |
| - Name: variable |
| Value: 0 |
| SectionNumber: 2 |
| SimpleType: IMAGE_SYM_TYPE_NULL |
| ComplexType: IMAGE_SYM_DTYPE_NULL |
| StorageClass: IMAGE_SYM_CLASS_EXTERNAL |
| ... |