diff options
author | Stephen Hines <srhines@google.com> | 2014-05-29 02:49:00 -0700 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2014-05-29 02:49:00 -0700 |
commit | dce4a407a24b04eebc6a376f8e62b41aaa7b071f (patch) | |
tree | dcebc53f2b182f145a2e659393bf9a0472cedf23 /test/MC/MachO/AArch64 | |
parent | 220b921aed042f9e520c26cffd8282a94c66c3d5 (diff) | |
download | external_llvm-dce4a407a24b04eebc6a376f8e62b41aaa7b071f.zip external_llvm-dce4a407a24b04eebc6a376f8e62b41aaa7b071f.tar.gz external_llvm-dce4a407a24b04eebc6a376f8e62b41aaa7b071f.tar.bz2 |
Update LLVM for 3.5 rebase (r209712).
Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
Diffstat (limited to 'test/MC/MachO/AArch64')
-rw-r--r-- | test/MC/MachO/AArch64/darwin-ARM64-local-label-diff.s | 21 | ||||
-rw-r--r-- | test/MC/MachO/AArch64/darwin-ARM64-reloc.s | 157 | ||||
-rw-r--r-- | test/MC/MachO/AArch64/lit.local.cfg | 4 |
3 files changed, 182 insertions, 0 deletions
diff --git a/test/MC/MachO/AArch64/darwin-ARM64-local-label-diff.s b/test/MC/MachO/AArch64/darwin-ARM64-local-label-diff.s new file mode 100644 index 0000000..d98c257 --- /dev/null +++ b/test/MC/MachO/AArch64/darwin-ARM64-local-label-diff.s @@ -0,0 +1,21 @@ +; RUN: llvm-mc -triple arm64-apple-darwin -filetype=obj -o - < %s | macho-dump -dump-section-data | FileCheck %s +; rdar://13028719 + + .globl context_save0 + .align 6 +Lcontext_save0: +context_save0: + .fill 2, 8, 5 +Lcontext_save0_end: +Lcontext_save0_size: .quad (Lcontext_save0_end - Lcontext_save0) + + .align 6 +Lcontext_save1: + .fill 2, 8, 0 +Lcontext_save1_end: +Lcontext_save1_size: .quad (Lcontext_save1_end - Lcontext_save1) + +Llockup_release: + .quad 0 + +; CHECK: ('_section_data', '05000000 00000000 05000000 00000000 10000000 00000000 1f2003d5 1f2003d5 1f2003d5 1f2003d5 1f2003d5 1f2003d5 1f2003d5 1f2003d5 1f2003d5 1f2003d5 00000000 00000000 00000000 00000000 10000000 00000000 00000000 00000000') diff --git a/test/MC/MachO/AArch64/darwin-ARM64-reloc.s b/test/MC/MachO/AArch64/darwin-ARM64-reloc.s new file mode 100644 index 0000000..7f586ae --- /dev/null +++ b/test/MC/MachO/AArch64/darwin-ARM64-reloc.s @@ -0,0 +1,157 @@ +; RUN: llvm-mc -n -triple arm64-apple-darwin10 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s + + .text +_fred: + bl _func + bl _func + 20 + + adrp x3, _data@page + ldr w2, [x3, _data@pageoff] + + add x3, x3, _data@pageoff + 4 + + adrp x3, _data@page+1 + ldr w2, [x3, _data@pageoff + 4] + + adrp x3, _data_ext@gotpage + ldr w2, [x3, _data_ext@gotpageoff] + + .data +_data: + .quad _foo + .quad _foo + 4 + .quad _foo - _bar + .quad _foo - _bar + 4 + + .long _foo - _bar + + .quad _foo@got + .long _foo@got - . + + +; CHECK: ('cputype', 16777228) +; CHECK: ('cpusubtype', 0) +; CHECK: ('filetype', 1) +; CHECK: ('num_load_commands', 3) +; CHECK: ('load_commands_size', 336) +; CHECK: ('flag', 0) +; CHECK: ('reserved', 0) +; CHECK: ('load_commands', [ +; CHECK: # Load Command 0 +; CHECK: (('command', 25) +; CHECK: ('size', 232) +; CHECK: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +; CHECK: ('vm_addr', 0) +; CHECK: ('vm_size', 84) +; CHECK: ('file_offset', 368) +; CHECK: ('file_size', 84) +; CHECK: ('maxprot', 7) +; CHECK: ('initprot', 7) +; CHECK: ('num_sections', 2) +; CHECK: ('flags', 0) +; CHECK: ('sections', [ +; CHECK: # Section 0 +; CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +; CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +; CHECK: ('address', 0) +; CHECK: ('size', 36) +; CHECK: ('offset', 368) +; CHECK: ('alignment', 0) +; CHECK: ('reloc_offset', 452) +; CHECK: ('num_reloc', 13) +; CHECK: ('flags', 0x80000400) +; CHECK: ('reserved1', 0) +; CHECK: ('reserved2', 0) +; CHECK: ('reserved3', 0) +; CHECK: ), +; CHECK: ('_relocations', [ +; CHECK: # Relocation 0 +; CHECK: (('word-0', 0x20), +; CHECK: ('word-1', 0x6c000005)), +; CHECK: # Relocation 1 +; CHECK: (('word-0', 0x1c), +; CHECK: ('word-1', 0x5d000005)), +; CHECK: # Relocation 2 +; CHECK: (('word-0', 0x18), +; CHECK: ('word-1', 0xa4000004)), +; CHECK: # Relocation 3 +; CHECK: (('word-0', 0x18), +; CHECK: ('word-1', 0x4c000002)), +; CHECK: # Relocation 4 +; CHECK: (('word-0', 0x14), +; CHECK: ('word-1', 0xa4000001)), +; CHECK: # Relocation 5 +; CHECK: (('word-0', 0x14), +; CHECK: ('word-1', 0x3d000002)), +; CHECK: # Relocation 6 +; CHECK: (('word-0', 0x10), +; CHECK: ('word-1', 0xa4000004)), +; CHECK: # Relocation 7 +; CHECK: (('word-0', 0x10), +; CHECK: ('word-1', 0x4c000002)), +; CHECK: # Relocation 8 +; CHECK: (('word-0', 0xc), +; CHECK: ('word-1', 0x4c000002)), +; CHECK: # Relocation 9 +; CHECK: (('word-0', 0x8), +; CHECK: ('word-1', 0x3d000002)), +; CHECK: # Relocation 10 +; CHECK: (('word-0', 0x4), +; CHECK: ('word-1', 0xa4000014)), +; CHECK: # Relocation 11 +; CHECK: (('word-0', 0x4), +; CHECK: ('word-1', 0x2d000007)), +; CHECK: # Relocation 12 +; CHECK: (('word-0', 0x0), +; CHECK: ('word-1', 0x2d000007)), +; CHECK: ]) +; CHECK: ('_section_data', '00000094 00000094 03000090 620040b9 63000091 03000090 620040b9 03000090 620040b9') +; CHECK: # Section 1 +; CHECK: (('section_name', '__data\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +; CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +; CHECK: ('address', 36) +; CHECK: ('size', 48) +; CHECK: ('offset', 404) +; CHECK: ('alignment', 0) +; CHECK: ('reloc_offset', 556) +; CHECK: ('num_reloc', 10) +; CHECK: ('flags', 0x0) +; CHECK: ('reserved1', 0) +; CHECK: ('reserved2', 0) +; CHECK: ('reserved3', 0) +; CHECK: ), +; CHECK: ('_relocations', [ +; CHECK: # Relocation 0 +; CHECK: (('word-0', 0x2c), +; CHECK: ('word-1', 0x7d000006)), +; CHECK: # Relocation 1 +; CHECK: (('word-0', 0x24), +; CHECK: ('word-1', 0x7e000006)), +; CHECK: # Relocation 2 +; CHECK: (('word-0', 0x20), +; CHECK: ('word-1', 0x1c000004)), +; CHECK: # Relocation 3 +; CHECK: (('word-0', 0x20), +; CHECK: ('word-1', 0xc000006)), +; CHECK: # Relocation 4 +; CHECK: (('word-0', 0x18), +; CHECK: ('word-1', 0x1e000004)), +; CHECK: # Relocation 5 +; CHECK: (('word-0', 0x18), +; CHECK: ('word-1', 0xe000006)), +; CHECK: # Relocation 6 +; CHECK: (('word-0', 0x10), +; CHECK: ('word-1', 0x1e000004)), +; CHECK: # Relocation 7 +; CHECK: (('word-0', 0x10), +; CHECK: ('word-1', 0xe000006)), +; CHECK: # Relocation 8 +; CHECK: (('word-0', 0x8), +; CHECK: ('word-1', 0xe000006)), +; CHECK: # Relocation 9 +; CHECK: (('word-0', 0x0), +; CHECK: ('word-1', 0xe000006)), +; CHECK: ]) +; CHECK: ('_section_data', '00000000 00000000 04000000 00000000 00000000 00000000 04000000 00000000 00000000 00000000 00000000 d4ffffff') +; CHECK: ]) +; CHECK: ), diff --git a/test/MC/MachO/AArch64/lit.local.cfg b/test/MC/MachO/AArch64/lit.local.cfg new file mode 100644 index 0000000..9a66a00 --- /dev/null +++ b/test/MC/MachO/AArch64/lit.local.cfg @@ -0,0 +1,4 @@ +targets = set(config.root.targets_to_build.split()) +if not 'AArch64' in targets: + config.unsupported = True + |