diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp index a0d4be8ff9885..8c7f2c8773f2c 100644 --- a/lld/ELF/InputFiles.cpp +++ b/lld/ELF/InputFiles.cpp @@ -1769,15 +1769,15 @@ void BinaryFile::parse() { llvm::StringSaver &saver = lld::saver(); - symtab.addAndCheckDuplicate(Defined{nullptr, saver.save(s + "_start"), + symtab.addAndCheckDuplicate(Defined{this, saver.save(s + "_start"), STB_GLOBAL, STV_DEFAULT, STT_OBJECT, 0, 0, section}); - symtab.addAndCheckDuplicate(Defined{nullptr, saver.save(s + "_end"), - STB_GLOBAL, STV_DEFAULT, STT_OBJECT, - data.size(), 0, section}); - symtab.addAndCheckDuplicate(Defined{nullptr, saver.save(s + "_size"), - STB_GLOBAL, STV_DEFAULT, STT_OBJECT, - data.size(), 0, nullptr}); + symtab.addAndCheckDuplicate(Defined{this, saver.save(s + "_end"), STB_GLOBAL, + STV_DEFAULT, STT_OBJECT, data.size(), 0, + section}); + symtab.addAndCheckDuplicate(Defined{this, saver.save(s + "_size"), STB_GLOBAL, + STV_DEFAULT, STT_OBJECT, data.size(), 0, + nullptr}); } ELFFileBase *elf::createObjFile(MemoryBufferRef mb, StringRef archiveName, diff --git a/lld/test/ELF/duplicated-synthetic-sym.s b/lld/test/ELF/duplicated-synthetic-sym.s index 0bf7800eb0ae3..d08af3a1a52e5 100644 --- a/lld/test/ELF/duplicated-synthetic-sym.s +++ b/lld/test/ELF/duplicated-synthetic-sym.s @@ -10,7 +10,7 @@ // CHECK: duplicate symbol: _binary_file_bin_start // CHECK-NEXT: defined in {{.*}}.o -// CHECK-NEXT: defined in +// CHECK-NEXT: defined in file.bin .globl _binary_file_bin_start _binary_file_bin_start: