Index: ELF/InputFiles.h
===================================================================
--- ELF/InputFiles.h
+++ ELF/InputFiles.h
@@ -90,8 +90,8 @@
   // Returns object file symbols. It is a runtime error to call this
   // function on files of other types.
   ArrayRef<Symbol *> getSymbols() {
-    assert(FileKind == ObjKind || FileKind == BitcodeKind ||
-           FileKind == ArchiveKind);
+    assert(FileKind == BinaryKind || FileKind == ObjKind ||
+           FileKind == BitcodeKind || FileKind == ArchiveKind);
     return Symbols;
   }
 
Index: ELF/InputFiles.cpp
===================================================================
--- ELF/InputFiles.cpp
+++ ELF/InputFiles.cpp
@@ -1026,8 +1026,8 @@
 
 void BinaryFile::parse() {
   ArrayRef<uint8_t> Data = toArrayRef(MB.getBuffer());
-  auto *Section = make<InputSection>(nullptr, SHF_ALLOC | SHF_WRITE,
-                                     SHT_PROGBITS, 8, Data, ".data");
+  auto *Section = make<InputSection>(this, SHF_ALLOC | SHF_WRITE, SHT_PROGBITS,
+                                     8, Data, ".data");
   Sections.push_back(Section);
 
   // For each input file foo that is embedded to a result as a binary
Index: test/ELF/duplicated-synthetic-sym.s
===================================================================
--- test/ELF/duplicated-synthetic-sym.s
+++ test/ELF/duplicated-synthetic-sym.s
@@ -4,7 +4,7 @@
 // RUN: not ld.lld %t.o --format binary duplicated-synthetic-sym.s -o %t.elf 2>&1 | FileCheck %s
 
 // CHECK: duplicate symbol: _binary_duplicated_synthetic_sym_s_start
-// CHECK: defined at <internal>:(.data+0x0)
+// CHECK: defined at duplicated-synthetic-sym.s:(.data+0x0)
 
     .globl  _binary_duplicated_synthetic_sym_s_start
 _binary_duplicated_synthetic_sym_s_start: