diff --git a/lld/ELF/Arch/RISCV.cpp b/lld/ELF/Arch/RISCV.cpp --- a/lld/ELF/Arch/RISCV.cpp +++ b/lld/ELF/Arch/RISCV.cpp @@ -106,7 +106,8 @@ } uint32_t RISCV::calcEFlags() const { - assert(!objectFiles.empty()); + if (objectFiles.empty()) + return 0; uint32_t target = getEFlags(objectFiles.front()); diff --git a/lld/test/ELF/riscv-binary.s b/lld/test/ELF/riscv-binary.s new file mode 100644 --- /dev/null +++ b/lld/test/ELF/riscv-binary.s @@ -0,0 +1,8 @@ +# REQUIRES: riscv + +# RUN: echo -n "BLOB" > %t.binary +# RUN: ld.lld -m elf64lriscv -b binary %t.binary -o %t.out +# RUN: llvm-readobj -h %t.out | FileCheck %s + +# CHECK: Flags [ +# CHECK-NEXT: ]