summaryrefslogtreecommitdiff
path: root/test/mach-o/arm-interworking-movw.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'test/mach-o/arm-interworking-movw.yaml')
-rw-r--r--test/mach-o/arm-interworking-movw.yaml393
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
-