summaryrefslogtreecommitdiff
path: root/test/CodeGen/AArch64/elf-extern.ll
blob: e09aa127ca2b2e40c91e46c7cf3210cf86da66ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
; RUN: llc -verify-machineinstrs < %s -mtriple=aarch64-none-linux-gnu -filetype=obj | llvm-readobj -r | FileCheck %s

; External symbols are a different concept to global variables but should still
; get relocations and so on when used.

declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)

define i32 @check_extern() {
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* undef, i8* undef, i32 undef, i32 4, i1 0)
  ret i32 0
}

; CHECK: Relocations [
; CHECK:   Section (2) .rela.text {
; CHECK:     0x{{[0-9,A-F]+}} R_AARCH64_CALL26 memcpy
; CHECK:   }
; CHECK: ]