diff options
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/MC/MachO/AArch64/mergeable.s | 59 | ||||
| -rw-r--r-- | llvm/test/MC/MachO/x86_64-mergeable.s | 59 | ||||
| -rw-r--r-- | llvm/test/MC/MachO/x86_64-symbols.s | 6 |
3 files changed, 124 insertions, 0 deletions
diff --git a/llvm/test/MC/MachO/AArch64/mergeable.s b/llvm/test/MC/MachO/AArch64/mergeable.s new file mode 100644 index 00000000000..fc6ec04f37b --- /dev/null +++ b/llvm/test/MC/MachO/AArch64/mergeable.s @@ -0,0 +1,59 @@ +// RUN: llvm-mc -triple aarch64-apple-darwin14 %s -filetype=obj -o - | llvm-readobj -r --expand-relocs | FileCheck %s + +// Test that we "S + K" produce a relocation with a symbol, but just S produces +// a relocation with the section. + + .section __TEXT,__literal4,4byte_literals +L0: + .long 42 + + .section __TEXT,__cstring,cstring_literals +L1: + .asciz "42" + + .section __DATA,__data + .quad L0 + .quad L0 + 1 + .quad L1 + .quad L1 + 1 + +// CHECK: Relocations [ +// CHECK-NEXT: Section __data { +// CHECK-NEXT: Relocation { +// CHECK-NEXT: Offset: 0x18 +// CHECK-NEXT: PCRel: 0 +// CHECK-NEXT: Length: 3 +// CHECK-NEXT: Extern: 1 +// CHECK-NEXT: Type: ARM64_RELOC_UNSIGNED (0) +// CHECK-NEXT: Symbol: L1 +// CHECK-NEXT: Scattered: 0 +// CHECK-NEXT: } +// CHECK-NEXT: Relocation { +// CHECK-NEXT: Offset: 0x10 +// CHECK-NEXT: PCRel: 0 +// CHECK-NEXT: Length: 3 +// CHECK-NEXT: Extern: 1 +// CHECK-NEXT: Type: ARM64_RELOC_UNSIGNED (0) +// CHECK-NEXT: Symbol: L1 +// CHECK-NEXT: Scattered: 0 +// CHECK-NEXT: } +// CHECK-NEXT: Relocation { +// CHECK-NEXT: Offset: 0x8 +// CHECK-NEXT: PCRel: 0 +// CHECK-NEXT: Length: 3 +// CHECK-NEXT: Extern: 1 +// CHECK-NEXT: Type: ARM64_RELOC_UNSIGNED (0) +// CHECK-NEXT: Symbol: L0 +// CHECK-NEXT: Scattered: 0 +// CHECK-NEXT: } +// CHECK-NEXT: Relocation { +// CHECK-NEXT: Offset: 0x0 +// CHECK-NEXT: PCRel: 0 +// CHECK-NEXT: Length: 3 +// CHECK-NEXT: Extern: 0 +// CHECK-NEXT: Type: ARM64_RELOC_UNSIGNED (0) +// CHECK-NEXT: Symbol: 0x2 +// CHECK-NEXT: Scattered: 0 +// CHECK-NEXT: } +// CHECK-NEXT: } +// CHECK-NEXT: ] diff --git a/llvm/test/MC/MachO/x86_64-mergeable.s b/llvm/test/MC/MachO/x86_64-mergeable.s new file mode 100644 index 00000000000..972477693ed --- /dev/null +++ b/llvm/test/MC/MachO/x86_64-mergeable.s @@ -0,0 +1,59 @@ +// RUN: llvm-mc -triple x86_64-apple-darwin14 %s -filetype=obj -o - | llvm-readobj -r --expand-relocs | FileCheck %s + +// Test that we "S + K" produce a relocation with a symbol, but just S produces +// a relocation with the section. + + .section __TEXT,__literal4,4byte_literals +L0: + .long 42 + + .section __TEXT,__cstring,cstring_literals +L1: + .asciz "42" + + .section __DATA,__data + .quad L0 + .quad L0 + 1 + .quad L1 + .quad L1 + 1 + +// CHECK: Relocations [ +// CHECK-NEXT: Section __data { +// CHECK-NEXT: Relocation { +// CHECK-NEXT: Offset: 0x18 +// CHECK-NEXT: PCRel: 0 +// CHECK-NEXT: Length: 3 +// CHECK-NEXT: Extern: 1 +// CHECK-NEXT: Type: X86_64_RELOC_UNSIGNED (0) +// CHECK-NEXT: Symbol: L1 +// CHECK-NEXT: Scattered: 0 +// CHECK-NEXT: } +// CHECK-NEXT: Relocation { +// CHECK-NEXT: Offset: 0x10 +// CHECK-NEXT: PCRel: 0 +// CHECK-NEXT: Length: 3 +// CHECK-NEXT: Extern: 0 +// CHECK-NEXT: Type: X86_64_RELOC_UNSIGNED (0) +// CHECK-NEXT: Symbol: 0x3 +// CHECK-NEXT: Scattered: 0 +// CHECK-NEXT: } +// CHECK-NEXT: Relocation { +// CHECK-NEXT: Offset: 0x8 +// CHECK-NEXT: PCRel: 0 +// CHECK-NEXT: Length: 3 +// CHECK-NEXT: Extern: 1 +// CHECK-NEXT: Type: X86_64_RELOC_UNSIGNED (0) +// CHECK-NEXT: Symbol: L0 +// CHECK-NEXT: Scattered: 0 +// CHECK-NEXT: } +// CHECK-NEXT: Relocation { +// CHECK-NEXT: Offset: 0x0 +// CHECK-NEXT: PCRel: 0 +// CHECK-NEXT: Length: 3 +// CHECK-NEXT: Extern: 0 +// CHECK-NEXT: Type: X86_64_RELOC_UNSIGNED (0) +// CHECK-NEXT: Symbol: 0x2 +// CHECK-NEXT: Scattered: 0 +// CHECK-NEXT: } +// CHECK-NEXT: } +// CHECK-NEXT: ] diff --git a/llvm/test/MC/MachO/x86_64-symbols.s b/llvm/test/MC/MachO/x86_64-symbols.s index e2dcc440fb5..f40183df853 100644 --- a/llvm/test/MC/MachO/x86_64-symbols.s +++ b/llvm/test/MC/MachO/x86_64-symbols.s @@ -121,6 +121,12 @@ D38: //L39: //D39: + .section foo, bar + .long L4 + 1 + .long L35 + 1 + .long L36 + 1 + .long L37 + 1 + .long L38 + 1 // CHECK: Symbols [ // CHECK-NEXT: Symbol { |

