dfa3fb002ed58e7610bb5018e52a0ade529fe59e
[oota-llvm.git] / test / MC / AArch64 / elf-extern.s
1 // RUN: llvm-mc < %s -triple=aarch64-none-linux-gnu -filetype=obj | llvm-readobj -r | FileCheck %s
2
3 // External symbols are a different concept to global variables but should still
4 // get relocations and so on when used.
5
6         .file   "<stdin>"
7         .text
8         .globl  check_extern
9         .type   check_extern,@function
10 check_extern:                           // @check_extern
11         .cfi_startproc
12 // BB#0:
13         sub     sp, sp, #16
14 .Ltmp2:
15         .cfi_def_cfa sp, 16
16         str     x30, [sp, #8]           // 8-byte Folded Spill
17 .Ltmp3:
18         .cfi_offset x30, -8
19         bl      memcpy
20         mov      x0, xzr
21         ldr     x30, [sp, #8]           // 8-byte Folded Reload
22         add     sp, sp, #16
23         ret
24 .Ltmp4:
25         .size   check_extern, .Ltmp4-check_extern
26         .cfi_endproc
27
28
29 // CHECK: Relocations [
30 // CHECK:   Section (2) .rela.text {
31 // CHECK:     0x{{[0-9,A-F]+}} R_AARCH64_CALL26 memcpy
32 // CHECK:   }
33 // CHECK: ]