Author: dim
Date: Fri Jan  3 20:29:54 2020
New Revision: 356333
URL: https://svnweb.freebsd.org/changeset/base/356333

Log:
  Merge commit 189b7393d from llvm git (by John Baldwin):
  
    [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 is a prerequisite for building and linking hard- and soft-float
  riscv worlds with clang and lld.
  
  Requested by: jhb
  MFC after:    1 week
  X-MFC-With:   r353358

Modified:
  head/contrib/llvm-project/lld/ELF/Arch/RISCV.cpp

Modified: head/contrib/llvm-project/lld/ELF/Arch/RISCV.cpp
==============================================================================
--- head/contrib/llvm-project/lld/ELF/Arch/RISCV.cpp    Fri Jan  3 20:28:06 
2020        (r356332)
+++ head/contrib/llvm-project/lld/ELF/Arch/RISCV.cpp    Fri Jan  3 20:29:54 
2020        (r356333)
@@ -105,7 +105,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());
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to