diff options
Diffstat (limited to 'test/mach-o/parse-text-relocs-x86_64.yaml')
-rw-r--r-- | test/mach-o/parse-text-relocs-x86_64.yaml | 204 |
1 files changed, 0 insertions, 204 deletions
diff --git a/test/mach-o/parse-text-relocs-x86_64.yaml b/test/mach-o/parse-text-relocs-x86_64.yaml deleted file mode 100644 index 76df030c69ed9..0000000000000 --- a/test/mach-o/parse-text-relocs-x86_64.yaml +++ /dev/null @@ -1,204 +0,0 @@ -# RUN: ld64.lld -arch x86_64 -r -print_atoms %s -o %t | FileCheck %s \ -# RUN: && ld64.lld -arch x86_64 -r -print_atoms %t -o %t2 | FileCheck %s -# -# Test parsing and writing of x86_64 text relocations. -# -# The first step tests if the supplied mach-o file is parsed into the correct -# set of references. The second step verifies relocations can be round-tripped -# by writing to a new .o file, then parsing that file which should result in -# the same references. -# -#_test: -# call _foo -# call _foo+4 -# movq _foo@GOTPCREL(%rip), %rax -# pushq _foo@GOTPCREL(%rip) -# movl _foo(%rip), %eax -# movl _foo+4(%rip), %eax -# movb $0x12, _foo(%rip) -# movw $0x1234, _foo(%rip) -# movl $0x12345678, _foo(%rip) -# movl L2(%rip), %eax -# movb $0x12, L2(%rip) -# movw $0x1234, L2(%rip) -# movl $0x12345678, L2(%rip) -# -# .data -#L2: .long 0 - - ---- !mach-o -arch: x86_64 -file-type: MH_OBJECT -flags: [ ] -sections: - - segment: __TEXT - section: __text - type: S_REGULAR - attributes: [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ] - address: 0x0000000000000000 - content: [ 0xE8, 0x00, 0x00, 0x00, 0x00, 0xE8, 0x04, 0x00, - 0x00, 0x00, 0x48, 0x8B, 0x05, 0x04, 0x00, 0x00, - 0x00, 0xFF, 0x35, 0x04, 0x00, 0x00, 0x00, 0x8B, - 0x05, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x05, 0x04, - 0x00, 0x00, 0x00, 0xC6, 0x05, 0xFF, 0xFF, 0xFF, - 0xFF, 0x12, 0x66, 0xC7, 0x05, 0xFE, 0xFF, 0xFF, - 0xFF, 0x34, 0x12, 0xC7, 0x05, 0xFC, 0xFF, 0xFF, - 0xFF, 0x78, 0x56, 0x34, 0x12, 0x8B, 0x05, 0x1A, - 0x00, 0x00, 0x00, 0xc6, 0x05, 0x13, 0x00, 0x00, - 0x00, 0x12, 0x66, 0xc7, 0x05, 0x0a, 0x00, 0x00, - 0x00, 0x34, 0x12, 0xc7, 0x05, 0x00, 0x00, 0x00, - 0x00, 0x78, 0x56, 0x34, 0x12 ] - relocations: - - offset: 0x00000055 - type: X86_64_RELOC_SIGNED_4 - length: 2 - pc-rel: true - extern: false - symbol: 2 - - offset: 0x0000004d - type: X86_64_RELOC_SIGNED_2 - length: 2 - pc-rel: true - extern: false - symbol: 2 - - offset: 0x00000045 - type: X86_64_RELOC_SIGNED_1 - length: 2 - pc-rel: true - extern: false - symbol: 2 - - offset: 0x0000003F - type: X86_64_RELOC_SIGNED - length: 2 - pc-rel: true - extern: false - symbol: 2 - - offset: 0x00000035 - type: X86_64_RELOC_SIGNED_4 - length: 2 - pc-rel: true - extern: true - symbol: 1 - - offset: 0x0000002D - type: X86_64_RELOC_SIGNED_2 - length: 2 - pc-rel: true - extern: true - symbol: 1 - - offset: 0x00000025 - type: X86_64_RELOC_SIGNED_1 - length: 2 - pc-rel: true - extern: true - symbol: 1 - - offset: 0x0000001F - type: X86_64_RELOC_SIGNED - length: 2 - pc-rel: true - extern: true - symbol: 1 - - offset: 0x00000019 - type: X86_64_RELOC_SIGNED - length: 2 - pc-rel: true - extern: true - symbol: 1 - - offset: 0x00000013 - type: X86_64_RELOC_GOT - length: 2 - pc-rel: true - extern: true - symbol: 1 - - offset: 0x0000000D - type: X86_64_RELOC_GOT_LOAD - length: 2 - pc-rel: true - extern: true - symbol: 1 - - offset: 0x00000006 - type: X86_64_RELOC_BRANCH - length: 2 - pc-rel: true - extern: true - symbol: 1 - - offset: 0x00000001 - type: X86_64_RELOC_BRANCH - length: 2 - pc-rel: true - extern: true - symbol: 1 - - segment: __DATA - section: __data - type: S_REGULAR - attributes: [ ] - address: 0x000000000000005D - content: [ 0x00, 0x00, 0x00, 0x00 ] -local-symbols: - - name: _test - type: N_SECT - sect: 1 - value: 0x0000000000000000 -undefined-symbols: - - name: _foo - type: N_UNDF - scope: [ N_EXT ] - value: 0x0000000000000000 -... - -# CHECK: defined-atoms: -# CHECK: - ref-name: [[LABEL:L[0-9]+]] -# CHECK: type: data -# CHECK: content: [ 00, 00, 00, 00 ] -# CHECK: - name: _test -# CHECK: references: -# CHECK: - kind: branch32 -# CHECK: offset: 1 -# CHECK: target: _foo -# CHECK: - kind: branch32 -# CHECK: offset: 6 -# CHECK: target: _foo -# CHECK: addend: 4 -# CHECK: - kind: ripRel32GotLoad -# CHECK: offset: 13 -# CHECK: target: _foo -# CHECK: addend: 4 -# CHECK: - kind: ripRel32Got -# CHECK: offset: 19 -# CHECK: target: _foo -# CHECK: addend: 4 -# CHECK: - kind: ripRel32 -# CHECK: offset: 25 -# CHECK: target: _foo -# CHECK: - kind: ripRel32 -# CHECK: offset: 31 -# CHECK: target: _foo -# CHECK: addend: 4 -# CHECK: - kind: ripRel32Minus1 -# CHECK: offset: 37 -# CHECK: target: _foo -# CHECK-NOT: addend: -# CHECK: - kind: ripRel32Minus2 -# CHECK: offset: 45 -# CHECK: target: _foo -# CHECK-NOT: addend: -# CHECK: - kind: ripRel32Minus4 -# CHECK: offset: 53 -# CHECK: target: _foo -# CHECK-NOT: addend: -# CHECK: - kind: ripRel32Anon -# CHECK: offset: 63 -# CHECK: target: [[LABEL]] -# CHECK-NOT: addend: -# CHECK: - kind: ripRel32Minus1Anon -# CHECK: offset: 69 -# CHECK: target: [[LABEL]] -# CHECK-NOT: addend: -# CHECK: - kind: ripRel32Minus2Anon -# CHECK: offset: 77 -# CHECK: target: [[LABEL]] -# CHECK-NOT: addend: -# CHECK: - kind: ripRel32Minus4Anon -# CHECK: offset: 85 -# CHECK: target: [[LABEL]] -# CHECK-NOT: addend: |