mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-04 03:44:59 +00:00
[lld][RISCV] Use an e_flags of 0 if there are only binary input files.
Summary: If none of the input files are ELF object files (for example, when generating an object file from a single binary input file via "-b binary"), use a fallback value for the ELF header flags instead of crashing with an assertion failure. Reviewers: MaskRay, ruiu, espindola Reviewed By: MaskRay, ruiu Subscribers: kevans, grimar, emaste, arichardson, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, Jim, lenary, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits, jrtc27 Tags: #llvm Differential Revision: https://reviews.llvm.org/D71101
This commit is contained in:
parent
6945d383b9
commit
189b7393d5
@ -108,7 +108,10 @@ static uint32_t getEFlags(InputFile *f) {
|
||||
}
|
||||
|
||||
uint32_t RISCV::calcEFlags() const {
|
||||
assert(!objectFiles.empty());
|
||||
// If there are only binary input files (from -b binary), use a
|
||||
// value of 0 for the ELF header flags.
|
||||
if (objectFiles.empty())
|
||||
return 0;
|
||||
|
||||
uint32_t target = getEFlags(objectFiles.front());
|
||||
|
||||
|
8
lld/test/ELF/riscv-elf-flags.s
Normal file
8
lld/test/ELF/riscv-elf-flags.s
Normal file
@ -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: ]
|
Loading…
Reference in New Issue
Block a user