[lld] [lld][ELF] Add armeb support when incoming bc is arm big endian (PR #72604)
dong jianqiang via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 18 07:41:18 PST 2023
https://github.com/dongjianqiang2 updated https://github.com/llvm/llvm-project/pull/72604
>From f91e89b188499adbfec328dc1d1ce3918695ba2c Mon Sep 17 00:00:00 2001
From: Dong JianQiang <dongjianqiang2 at huawei.com>
Date: Thu, 16 Nov 2023 20:55:05 +0800
Subject: [PATCH] [lld][ELF] Add armeb support when incoming bc is arm big
endian
---
lld/ELF/InputFiles.cpp | 2 ++
lld/test/ELF/lto/arm.ll | 9 +++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp
index 7ac737dab0519a8..06a3d565deb765e 100644
--- a/lld/ELF/InputFiles.cpp
+++ b/lld/ELF/InputFiles.cpp
@@ -1582,7 +1582,9 @@ static uint16_t getBitcodeMachineKind(StringRef path, const Triple &t) {
case Triple::r600:
return EM_AMDGPU;
case Triple::arm:
+ case Triple::armeb:
case Triple::thumb:
+ case Triple::thumbeb:
return EM_ARM;
case Triple::avr:
return EM_AVR;
diff --git a/lld/test/ELF/lto/arm.ll b/lld/test/ELF/lto/arm.ll
index 00d08658adfe50a..5860262ac8bf90f 100644
--- a/lld/test/ELF/lto/arm.ll
+++ b/lld/test/ELF/lto/arm.ll
@@ -7,13 +7,15 @@
; RUN: ld.lld %t/arm.o -o %t/arm
; RUN: llvm-readobj -h %t/arm | FileCheck %s --check-prefix=ARM
; RUN: llvm-as %t/armeb.ll -o %t/armeb.o
-; RUN: not ld.lld %t/armeb.o -o %t/armeb
+; RUN: ld.lld %t/armeb.o -o %t/armeb
+; RUN: llvm-readobj -h %t/armeb | FileCheck %s --check-prefix=ARMEB
; RUN: llvm-as %t/thumb.ll -o %t/thumb.o
; RUN: ld.lld %t/thumb.o -o %t/thumb
; RUN: llvm-readobj -h %t/thumb | FileCheck %s --check-prefix=THUMB
; RUN: llvm-as %t/thumbeb.ll -o %t/thumbeb.o
-; RUN: not ld.lld %t/thumbeb.o -o %t/thumbeb
+; RUN: ld.lld %t/thumbeb.o -o %t/thumbeb
+; RUN: llvm-readobj -h %t/thumbeb | FileCheck %s --check-prefix=THUMBEB
; ARM: Class: 32-bit
; ARM: DataEncoding: LittleEndian
@@ -25,6 +27,9 @@
; THUMB: Class: 32-bit
; THUMB: DataEncoding: LittleEndian
; THUMB: Machine: EM_ARM (
+; THUMBEB: Class: 32-bit
+; THUMBEB: DataEncoding: BigEndian
+; THUMBEB: Machine: EM_ARM (
;--- arm.ll
target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"
More information about the llvm-commits
mailing list