[PATCH] D71101: [lld][RISCV] Use an e_flags of 0 if there are only binary input files.
John Baldwin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 5 17:02:07 PST 2019
bsdjhb marked an inline comment as done.
bsdjhb added a comment.
This is needed to link kernel modules for firmware blobs used in a FreeBSD/riscv64 kernel.
================
Comment at: lld/ELF/Arch/RISCV.cpp:119
if ((eflags & EF_RISCV_FLOAT_ABI) != (target & EF_RISCV_FLOAT_ABI))
error(toString(f) +
----------------
The BFD linker is a bit more forgiving in these flag checks to seemingly cater to mixing objects linked with '-b binary' with other objects. Specifically, it only checks for flag mismatches when an object file contains text sections (since the float ABI and RVE only matter for instructions). In FreeBSD's case the kernel is soft-float and doesn't use RVE, so a flags value of 0 for the '-b binary' case is already compatible.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71101/new/
https://reviews.llvm.org/D71101
More information about the llvm-commits
mailing list