llvm-project/lld/test/ELF/lto/aarch64.ll

35 lines
868 B
LLVM

; REQUIRES: aarch64
;; Test we can infer the e_machine value EM_AARCH64 from a bitcode file.
; RUN: split-file %s %t
; RUN: llvm-as %t/le.s -o %t/le.o
; RUN: ld.lld %t/le.o -o %t/le
; RUN: llvm-readobj -h %t/le | FileCheck %s --check-prefixes=CHECK,LE
; RUN: llvm-as %t/be.s -o %t/be.o
; RUN: ld.lld %t/be.o -o %t/be
; RUN: llvm-readobj -h %t/be | FileCheck %s --check-prefixes=CHECK,BE
; CHECK: Class: 64-bit
; LE: DataEncoding: LittleEndian
; BE: DataEncoding: BigEndian
; CHECK: Machine: EM_AARCH64
;--- le.s
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-unknown-linux-gnu"
define void @_start() {
entry:
ret void
}
;--- be.s
target datalayout = "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64_be-unknown-linux-gnu"
define void @_start() {
entry:
ret void
}