Index: lld/trunk/COFF/InputFiles.cpp =================================================================== --- lld/trunk/COFF/InputFiles.cpp +++ lld/trunk/COFF/InputFiles.cpp @@ -193,6 +193,8 @@ return nullptr; return new (Alloc) DefinedAbsolute(Name, Sym.getValue()); } + if (Sym.getSectionNumber() == llvm::COFF::IMAGE_SYM_DEBUG) + return nullptr; // TODO: Handle IMAGE_WEAK_EXTERN_SEARCH_ALIAS if (Sym.isWeakExternal()) { COFFObj->getSymbolName(Sym, Name); Index: lld/trunk/test/COFF/debug.test =================================================================== --- lld/trunk/test/COFF/debug.test +++ lld/trunk/test/COFF/debug.test @@ -0,0 +1,38 @@ +# RUN: yaml2obj %s > %t.obj +# RUN: lld -flavor link2 /out:%t.exe /entry:main /subsystem:console %t.obj + +--- +header: + Machine: IMAGE_FILE_MACHINE_AMD64 + Characteristics: [] +sections: + - Name: .text + Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] + Alignment: 4 + SectionData: B82A000000C3 +symbols: + - Name: .text + Value: 0 + SectionNumber: 1 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_NULL + StorageClass: IMAGE_SYM_CLASS_STATIC + SectionDefinition: + Length: 6 + NumberOfRelocations: 0 + NumberOfLinenumbers: 0 + CheckSum: 0 + Number: 0 + - Name: main + Value: 0 + SectionNumber: 1 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_NULL + StorageClass: IMAGE_SYM_CLASS_EXTERNAL + - Name: debug + Value: 0 + SectionNumber: -2 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_NULL + StorageClass: IMAGE_SYM_CLASS_EXTERNAL +...