diff options
Diffstat (limited to 'test/mach-o/arm-interworking-movw.yaml')
-rw-r--r-- | test/mach-o/arm-interworking-movw.yaml | 393 |
1 files changed, 0 insertions, 393 deletions
diff --git a/test/mach-o/arm-interworking-movw.yaml b/test/mach-o/arm-interworking-movw.yaml deleted file mode 100644 index ade459c8c8966..0000000000000 --- a/test/mach-o/arm-interworking-movw.yaml +++ /dev/null @@ -1,393 +0,0 @@ -# REQUIRES: arm -# RUN: ld64.lld -arch armv7 -r -print_atoms %s -o %t | FileCheck %s -# RUN: ld64.lld -arch armv7 -dylib -print_atoms %t -o %t2 \ -# RUN: %p/Inputs/armv7/libSystem.yaml -sectalign __TEXT __text 0x1000 | FileCheck %s -# RUN: llvm-objdump -d -macho -no-symbolic-operands %t2 | FileCheck -check-prefix=CODE %s -# -# Test thumb and arm branches round trip through -r. -# Test movw/movt pairs have low bit set properly for thumb vs arm. -# -# - ---- !mach-o -arch: armv7 -file-type: MH_OBJECT -flags: [ MH_SUBSECTIONS_VIA_SYMBOLS ] -sections: - - segment: __TEXT - section: __text - type: S_REGULAR - attributes: [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ] - alignment: 2 - address: 0x0000000000000000 - content: [ 0x40, 0xF2, 0x25, 0x00, 0xC0, 0xF2, 0x00, 0x00, - 0x40, 0xF2, 0x01, 0x01, 0xC0, 0xF2, 0x00, 0x01, - 0x40, 0xF2, 0x4E, 0x02, 0xC0, 0xF2, 0x00, 0x02, - 0x40, 0xF2, 0x2A, 0x03, 0xC0, 0xF2, 0x00, 0x03, - 0x78, 0x44, 0x70, 0x47, 0x70, 0x47, 0x25, 0x00, - 0x00, 0xE3, 0x00, 0x00, 0x40, 0xE3, 0xD7, 0x1F, - 0x0F, 0xE3, 0xFF, 0x1F, 0x4F, 0xE3, 0x4E, 0x20, - 0x00, 0xE3, 0x00, 0x20, 0x40, 0xE3, 0x00, 0x30, - 0x00, 0xE3, 0x00, 0x30, 0x40, 0xE3, 0x0F, 0x00, - 0x80, 0xE0, 0x1E, 0xFF, 0x2F, 0xE1, 0x1E, 0xFF, - 0x2F, 0xE1 ] - relocations: - - offset: 0x00000042 - scattered: true - type: ARM_RELOC_HALF_SECTDIFF - length: 1 - pc-rel: false - value: 0x0000004E - - offset: 0x00000000 - scattered: true - type: ARM_RELOC_PAIR - length: 1 - pc-rel: false - value: 0x00000046 - - offset: 0x0000003E - scattered: true - type: ARM_RELOC_HALF_SECTDIFF - length: 0 - pc-rel: false - value: 0x0000004E - - offset: 0x00000000 - scattered: true - type: ARM_RELOC_PAIR - length: 0 - pc-rel: false - value: 0x00000046 - - offset: 0x0000003A - type: ARM_RELOC_HALF - length: 1 - pc-rel: false - extern: false - symbol: 1 - - offset: 0x0000004E - type: ARM_RELOC_PAIR - length: 1 - pc-rel: false - extern: false - symbol: 16777215 - - offset: 0x00000036 - type: ARM_RELOC_HALF - length: 0 - pc-rel: false - extern: false - symbol: 1 - - offset: 0x00000000 - type: ARM_RELOC_PAIR - length: 0 - pc-rel: false - extern: false - symbol: 16777215 - - offset: 0x00000032 - scattered: true - type: ARM_RELOC_HALF_SECTDIFF - length: 1 - pc-rel: false - value: 0x00000024 - - offset: 0x0000FFD6 - scattered: true - type: ARM_RELOC_PAIR - length: 1 - pc-rel: false - value: 0x00000046 - - offset: 0x0000002E - scattered: true - type: ARM_RELOC_HALF_SECTDIFF - length: 0 - pc-rel: false - value: 0x00000024 - - offset: 0x0000FFFF - scattered: true - type: ARM_RELOC_PAIR - length: 0 - pc-rel: false - value: 0x00000046 - - offset: 0x0000002A - type: ARM_RELOC_HALF - length: 1 - pc-rel: false - extern: false - symbol: 1 - - offset: 0x00000025 - type: ARM_RELOC_PAIR - length: 1 - pc-rel: false - extern: false - symbol: 16777215 - - offset: 0x00000026 - type: ARM_RELOC_HALF - length: 0 - pc-rel: false - extern: false - symbol: 1 - - offset: 0x00000000 - type: ARM_RELOC_PAIR - length: 0 - pc-rel: false - extern: false - symbol: 16777215 - - offset: 0x0000001C - scattered: true - type: ARM_RELOC_HALF_SECTDIFF - length: 3 - pc-rel: false - value: 0x0000004E - - offset: 0x0000002A - scattered: true - type: ARM_RELOC_PAIR - length: 3 - pc-rel: false - value: 0x00000020 - - offset: 0x00000018 - scattered: true - type: ARM_RELOC_HALF_SECTDIFF - length: 2 - pc-rel: false - value: 0x0000004E - - offset: 0x00000000 - scattered: true - type: ARM_RELOC_PAIR - length: 2 - pc-rel: false - value: 0x00000020 - - offset: 0x00000014 - type: ARM_RELOC_HALF - length: 3 - pc-rel: false - extern: false - symbol: 1 - - offset: 0x0000004E - type: ARM_RELOC_PAIR - length: 3 - pc-rel: false - extern: false - symbol: 16777215 - - offset: 0x00000010 - type: ARM_RELOC_HALF - length: 2 - pc-rel: false - extern: false - symbol: 1 - - offset: 0x00000000 - type: ARM_RELOC_PAIR - length: 2 - pc-rel: false - extern: false - symbol: 16777215 - - offset: 0x0000000C - scattered: true - type: ARM_RELOC_HALF_SECTDIFF - length: 3 - pc-rel: false - value: 0x00000024 - - offset: 0x00000000 - scattered: true - type: ARM_RELOC_PAIR - length: 3 - pc-rel: false - value: 0x00000020 - - offset: 0x00000008 - scattered: true - type: ARM_RELOC_HALF_SECTDIFF - length: 2 - pc-rel: false - value: 0x00000024 - - offset: 0x00000000 - scattered: true - type: ARM_RELOC_PAIR - length: 2 - pc-rel: false - value: 0x00000020 - - offset: 0x00000004 - type: ARM_RELOC_HALF - length: 3 - pc-rel: false - extern: false - symbol: 1 - - offset: 0x00000025 - type: ARM_RELOC_PAIR - length: 3 - pc-rel: false - extern: false - symbol: 16777215 - - offset: 0x00000000 - type: ARM_RELOC_HALF - length: 2 - pc-rel: false - extern: false - symbol: 1 - - offset: 0x00000000 - type: ARM_RELOC_PAIR - length: 2 - pc-rel: false - extern: false - symbol: 16777215 -local-symbols: - - name: _t1 - type: N_SECT - sect: 1 - desc: [ N_ARM_THUMB_DEF ] - value: 0x0000000000000000 - - name: _t2 - type: N_SECT - sect: 1 - desc: [ N_ARM_THUMB_DEF ] - value: 0x0000000000000024 - - name: _a2 - type: N_SECT - sect: 1 - value: 0x000000000000004E - - name: _a1 - type: N_SECT - sect: 1 - value: 0x0000000000000026 -... - -# CHECK: defined-atoms: -# CHECK: - name: _t1 -# CHECK: references: -# CHECK: - kind: modeThumbCode -# CHECK: offset: 0 -# CHECK: target: _t1 -# CHECK: - kind: thumb_movw -# CHECK: offset: 0 -# CHECK: target: _t2 -# CHECK-NOT: addend: -# CHECK: - kind: thumb_movt -# CHECK: offset: 4 -# CHECK: target: _t2 -# CHECK-NOT: addend: -# CHECK: - kind: thumb_movw_funcRel -# CHECK: offset: 8 -# CHECK: target: _t2 -# CHECK: addend: -36 -# CHECK: - kind: thumb_movt_funcRel -# CHECK: offset: 12 -# CHECK: target: _t2 -# CHECK: addend: -36 -# CHECK: - kind: thumb_movw -# CHECK: offset: 16 -# CHECK: target: _a2 -# CHECK-NOT: addend: -# CHECK: - kind: thumb_movt -# CHECK: offset: 20 -# CHECK: target: _a2 -# CHECK-NOT: addend: -# CHECK: - kind: thumb_movw_funcRel -# CHECK: offset: 24 -# CHECK: target: _a2 -# CHECK: addend: -36 -# CHECK: - kind: thumb_movt_funcRel -# CHECK: offset: 28 -# CHECK: target: _a2 -# CHECK: addend: -36 -# CHECK: - name: _t2 -# CHECK: references: -# CHECK: - kind: modeThumbCode -# CHECK: offset: 0 -# CHECK: target: _t2 -# CHECK: - name: _a1 -# CHECK: references: -# CHECK: - kind: arm_movw -# CHECK: offset: 0 -# CHECK: target: _t2 -# CHECK-NOT: addend: -# CHECK: - kind: arm_movt -# CHECK: offset: 4 -# CHECK: target: _t2 -# CHECK-NOT: addend: -# CHECK: - kind: arm_movw_funcRel -# CHECK: offset: 8 -# CHECK: target: _t2 -# CHECK: addend: -40 -# CHECK: - kind: arm_movt_funcRel -# CHECK: offset: 12 -# CHECK: target: _t2 -# CHECK: addend: -40 -# CHECK: - kind: arm_movw -# CHECK: offset: 16 -# CHECK: target: _a2 -# CHECK-NOT: addend: -# CHECK: - kind: arm_movt -# CHECK: offset: 20 -# CHECK: target: _a2 -# CHECK-NOT: addend: -# CHECK: - kind: arm_movw_funcRel -# CHECK: offset: 24 -# CHECK: target: _a2 -# CHECK: addend: -40 -# CHECK: - kind: arm_movt_funcRel -# CHECK: offset: 28 -# CHECK: target: _a2 -# CHECK: addend: -40 -# CHECK: - name: _a2 - - -# CODE: _t1: -# CODE-NEXT: movw r0, #4133 -# CODE-NEXT: movt r0, #0 -# CODE-NEXT: movw r1, #1 -# CODE-NEXT: movt r1, #0 -# CODE-NEXT: movw r2, #4174 -# CODE-NEXT: movt r2, #0 -# CODE-NEXT: movw r3, #42 -# CODE-NEXT: movt r3, #0 - - -# CODE: _a1: -# CODE-NEXT: movw r0, #4133 -# CODE-NEXT: movt r0, #0 -# CODE-NEXT: movw r1, #65495 -# CODE-NEXT: movt r1, #65535 -# CODE-NEXT: movw r2, #4174 -# CODE-NEXT: movt r2, #0 -# CODE-NEXT: movw r3, #0 -# CODE-NEXT: movt r3, #0 - - - -# .syntax unified -# .align 2 -# -# .code 16 -# .thumb_func _t1 -#_t1: -# movw r0, :lower16:(_t2) -# movt r0, :upper16:(_t2) -# movw r1, :lower16:(_t2-(L0+4)) -# movt r1, :upper16:(_t2-(L0+4)) -# movw r2, :lower16:(_a2) -# movt r2, :upper16:(_a2) -# movw r3, :lower16:(_a2-(L0+4)) -# movt r3, :upper16:(_a2-(L0+4)) -#L0: -# add r0, pc -# bx lr -# -# -# .code 16 -# .thumb_func _t2 -#_t2: -# bx lr -# -# -# -# .code 32 -#_a1: -# movw r0, :lower16:(_t2) -# movt r0, :upper16:(_t2) -# movw r1, :lower16:(_t2-(L1+8)) -# movt r1, :upper16:(_t2-(L1+8)) -# movw r2, :lower16:(_a2) -# movt r2, :upper16:(_a2) -# movw r3, :lower16:(_a2-(L1+8)) -# movt r3, :upper16:(_a2-(L1+8)) -#L1: -# add r0, pc -# bx lr -# -#_a2: -# bx lr - |