Skip to content

Commit 23c5531

Browse files
committed
[cheriot] Enable RVE elf flag for cheriot ABIs
This must match other objects that have `EF_RISCV_RVE` set in their ELF header. CHERIoT targets use XLEN=16 (E).
1 parent b50aa39 commit 23c5531

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,6 @@ void RISCVTargetELFStreamer::finish() {
109109
break;
110110
case RISCVABI::ABI_IL32PC64:
111111
case RISCVABI::ABI_L64PC128:
112-
case RISCVABI::ABI_CHERIOT:
113-
case RISCVABI::ABI_CHERIOT_BAREMETAL:
114112
EFlags |= ELF::EF_RISCV_CHERIABI;
115113
break;
116114
case RISCVABI::ABI_ILP32F:
@@ -136,6 +134,8 @@ void RISCVTargetELFStreamer::finish() {
136134
EFlags |= ELF::EF_RISCV_RVE;
137135
break;
138136
case RISCVABI::ABI_IL32PC64E:
137+
case RISCVABI::ABI_CHERIOT:
138+
case RISCVABI::ABI_CHERIOT_BAREMETAL:
139139
EFlags |= ELF::EF_RISCV_RVE;
140140
EFlags |= ELF::EF_RISCV_CHERIABI;
141141
break;
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
; RUN: llc --filetype=obj -mtriple=riscv32-unknown-unknown -mcpu=cheriot -target-abi cheriot %s -o - | llvm-readelf --file-header - | FileCheck %s
2+
3+
; Ensure CHERIoT targets have the correct ELF flags.
4+
; CHECK: Flags: 0x30009, RVC, RVE, cheriabi, capability mode

0 commit comments

Comments
 (0)