On Sun, Oct 15, 2017 at 10:58 AM, Don Hinton <hintonda at gmail.com> wrote:> Thanks Aaron. > > I don't have a Windows system, and haven't seen any buildbot failures, so I > it's difficult to come up with a patch for something I can't reproduce > locally or see any actual failures. Could you send me the commands you used > that uncovered the failure?This was from building Clang + LLVM on Windows 10 with MSVC 2017 x64 Debug. My cmake command to generate the VS solution is pretty uninteresting: cmake -G "Visual Studio 15 Win64" ..\llvm I fixed a few of the link errors that Jack pointed out before stumbling on the problem in AsmMatcherEmitter::run(). I wasn't comfortable attempting to work around it there because the DEBUG_WITH_TYPE macro was conflicting with trying to guard calls to MatchableInfo::dump() with LLVM_ENABLE_DUMP. I think this is another instance of "TableGen wasn't done along with the rest of llvm" -- nothing about it should be Visual Studio- or Windows-specific. ~Aaron> > thanks again... > don > > On Sun, Oct 15, 2017 at 7:35 AM, Aaron Ballman <aaron at aaronballman.com> > wrote: >> >> On Sat, Oct 14, 2017 at 11:25 AM, Don Hinton via llvm-dev >> <llvm-dev at lists.llvm.org> wrote: >> > Hi Jack: >> > >> > Yes, I was just looking at that. Seems like TableGen wasn't done along >> > with >> > the rest of llvm. I'll work up a complete patch shortly. >> >> This also broke the build for MSVC when doing a debug build (though no >> builder seems to be picking up the failure!). After working around a >> handful of link errors, I came to one that's going to require more >> understanding of LLVM's tablegen than I have. >> >> Error LNK2019 unresolved external symbol "public: void __cdecl >> `anonymous namespace'::MatchableInfo::dump(void)const " >> (?dump at MatchableInfo@?A0xf4f1c304@@QEBAXXZ) referenced in function >> "public: void __cdecl `anonymous >> namespace'::AsmMatcherEmitter::run(class llvm::raw_ostream &)" >> (?run at AsmMatcherEmitter@?A0xf4f1c304@@QEAAXAEAVraw_ostream at llvm@@@Z) >> llvm-tblgen D:\llvm\2017\utils\TableGen\AsmMatcherEmitter.obj 1 >> >> Since this has been broken for over a day and the fixes are >> nontrivial, I've reverted your commit (r315590) in r315854. Hopefully >> this doesn't cause you too many problems! >> >> ~Aaron >> >> > >> > Btw, I'm curious how this happened. Do you have a stale CMakeCache.txt >> > by >> > any chance? You might check the value for LLVM_ENABLE_DUMP and see if >> > it's >> > consistent. >> > >> > Again, I'll gen up a complete patch shortly -- sorry for delay, had to >> > walk >> > my dog first... >> > >> > thanks... >> > don >> > >> > On Sat, Oct 14, 2017 at 8:06 AM, Jack Howarth >> > <howarth.mailing.lists at gmail.com> wrote: >> >> >> >> >> >> >> >> On Sat, Oct 14, 2017 at 10:25 AM, Don Hinton <hintonda at gmail.com> >> >> wrote: >> >>> >> >>> Hi Jack: >> >>> >> >>> Looks like I missed this one in my recent change. >> >>> >> >>> Please let me know if this solves your problem: >> >>> >> >>> $ git diff >> >>> diff --git a/utils/TableGen/InfoByHwMode.cpp >> >>> b/utils/TableGen/InfoByHwMode.cpp >> >>> index 7e1e1864356..8d3636432aa 100644 >> >>> --- a/utils/TableGen/InfoByHwMode.cpp >> >>> +++ b/utils/TableGen/InfoByHwMode.cpp >> >>> @@ -98,14 +98,16 @@ void ValueTypeByHwMode::writeToStream(raw_ostream >> >>> &OS) const { >> >>> OS << '}'; >> >>> } >> >>> >> >>> +#ifdef LLVM_ENABLE_DUMP >> >>> LLVM_DUMP_METHOD >> >>> void ValueTypeByHwMode::dump() const { >> >>> dbgs() << *this << '\n'; >> >>> } >> >>> +#endif >> >>> >> >>> ValueTypeByHwMode llvm::getValueTypeByHwMode(Record *Rec, >> >>> const CodeGenHwModes >> >>> &CGH) >> >>> { >> >>> -#ifndef NDEBUG >> >>> +#ifdef LLVM_ENABLE_DUMP >> >>> if (!Rec->isSubClassOf("ValueType")) >> >>> Rec->dump(); >> >>> #endif >> >>> >> >>> >> >>> thanks... >> >>> don >> >>> >> >> >> >> The patch seems to be incomplete as it moves the failure to... >> >> >> >> [ 6%] Linking CXX executable ../../bin/llvm-tblgen >> >> cd /sw/src/fink.build/llvm60-6.0.0-1/build/stage1/utils/TableGen && >> >> /sw/bin/cmake -E cmake_link_script CMakeFiles/llvm-tblgen.dir/link.txt >> >> --verbose=1 >> >> /sw/src/fink.build/llvm60-6.0.0-1/opt-bin/ccclang++ -fno-common -fPIC >> >> -fvisibility-inlines-hidden -Werror=date-time >> >> -Werror=unguarded-availability-new -std=c++11 -Wall -W >> >> -Wno-unused-parameter >> >> -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic >> >> -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor >> >> -Wdelete-non-virtual-dtor -Wstring-conversion -O3 >> >> -Wl,-search_paths_first >> >> -Wl,-headerpad_max_install_names -L/sw/lib -Wl,-dead_strip >> >> CMakeFiles/obj.llvm-tblgen.dir/AsmMatcherEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterInst.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/Attributes.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/CallingConvEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeEmitterGen.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenDAGPatterns.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenHwModes.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenInstruction.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenMapTable.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenRegisters.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenSchedule.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenTarget.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherGen.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcher.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/DisassemblerEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/FastISelEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/FixedLenDecoderEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/GlobalISelEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/InfoByHwMode.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/InstrInfoEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/IntrinsicEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/OptParserEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/PseudoLoweringEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/RegisterBankEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/RegisterInfoEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/SearchableTableEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/SubtargetEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/SubtargetFeatureInfo.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/TableGen.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/Types.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/X86DisassemblerTables.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/X86EVEX2VEXTablesEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/X86FoldTablesEmitter.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/X86ModRMFilters.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/X86RecognizableInstr.cpp.o >> >> CMakeFiles/obj.llvm-tblgen.dir/CTagsEmitter.cpp.o -o >> >> ../../bin/llvm-tblgen >> >> -Wl,-rpath, at loader_path/../lib ../../lib/libLLVMSupport.a >> >> ../../lib/libLLVMTableGen.a ../../lib/libLLVMSupport.a -lcurses -lz -lm >> >> ../../lib/libLLVMDemangle.a >> >> Undefined symbols for architecture x86_64: >> >> "llvm::SubtargetFeatureInfo::dump() const", referenced from: >> >> (anonymous namespace)::AsmMatcherInfo::buildInfo() in >> >> AsmMatcherEmitter.cpp.o >> >> "(anonymous namespace)::MatchableInfo::dump() const", referenced >> >> from: >> >> (anonymous namespace)::AsmMatcherEmitter::run(llvm::raw_ostream&) >> >> in >> >> AsmMatcherEmitter.cpp.o >> >> ld: symbol(s) not found for architecture x86_64 >> >> clang: error: linker command failed with exit code 1 (use -v to see >> >> invocation) >> >> make[2]: *** [bin/llvm-tblgen] Error 1 >> >> make[1]: *** [utils/TableGen/CMakeFiles/llvm-tblgen.dir/all] Error 2 >> >> make: *** [all] Error 2 >> >> >> >> Jack >> >> >> >>> >> >>> >> >>> On Sat, Oct 14, 2017 at 6:06 AM, Jack Howarth via llvm-dev >> >>> <llvm-dev at lists.llvm.org> wrote: >> >>>> >> >>>> Is anyone else seeing this bootstrap failure on current svn trunk? >> >>>> >> >>>> [ 6%] Linking CXX executable ../../bin/llvm-tblgen >> >>>> cd /sw/src/fink.build/llvm60-6.0.0-1/build/stage1/utils/TableGen && >> >>>> /sw/bin/cmake -E cmake_link_script >> >>>> CMakeFiles/llvm-tblgen.dir/link.txt >> >>>> --verbose=1 >> >>>> /sw/src/fink.build/llvm60-6.0.0-1/opt-bin/ccclang++ -fno-common >> >>>> -fPIC >> >>>> -fvisibility-inlines-hidden -Werror=date-time >> >>>> -Werror=unguarded-availability-new -std=c++11 -Wall -W >> >>>> -Wno-unused-parameter >> >>>> -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic >> >>>> -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor >> >>>> -Wdelete-non-virtual-dtor -Wstring-conversion -O3 >> >>>> -Wl,-search_paths_first >> >>>> -Wl,-headerpad_max_install_names -L/sw/lib -Wl,-dead_strip >> >>>> CMakeFiles/obj.llvm-tblgen.dir/AsmMatcherEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterInst.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/Attributes.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CallingConvEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeEmitterGen.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenDAGPatterns.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenHwModes.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenInstruction.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenMapTable.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenRegisters.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenSchedule.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenTarget.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherGen.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcher.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DisassemblerEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/FastISelEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/FixedLenDecoderEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/GlobalISelEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/InfoByHwMode.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/InstrInfoEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/IntrinsicEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/OptParserEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/PseudoLoweringEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/RegisterBankEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/RegisterInfoEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/SearchableTableEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/SubtargetEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/SubtargetFeatureInfo.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/TableGen.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/Types.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86DisassemblerTables.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86EVEX2VEXTablesEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86FoldTablesEmitter.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86ModRMFilters.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86RecognizableInstr.cpp.o >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CTagsEmitter.cpp.o -o >> >>>> ../../bin/llvm-tblgen >> >>>> -Wl,-rpath, at loader_path/../lib ../../lib/libLLVMSupport.a >> >>>> ../../lib/libLLVMTableGen.a ../../lib/libLLVMSupport.a -lcurses -lz >> >>>> -lm >> >>>> ../../lib/libLLVMDemangle.a >> >>>> Undefined symbols for architecture x86_64: >> >>>> "llvm::Record::dump() const", referenced from: >> >>>> llvm::getValueTypeByHwMode(llvm::Record*, llvm::CodeGenHwModes >> >>>> const&) in InfoByHwMode.cpp.o >> >>>> "llvm::SubtargetFeatureInfo::dump() const", referenced from: >> >>>> (anonymous namespace)::AsmMatcherInfo::buildInfo() in >> >>>> AsmMatcherEmitter.cpp.o >> >>>> "(anonymous namespace)::MatchableInfo::dump() const", referenced >> >>>> from: >> >>>> (anonymous >> >>>> namespace)::AsmMatcherEmitter::run(llvm::raw_ostream&) >> >>>> in AsmMatcherEmitter.cpp.o >> >>>> ld: symbol(s) not found for architecture x86_64 >> >>>> clang: error: linker command failed with exit code 1 (use -v to see >> >>>> invocation) >> >>>> make[2]: *** [bin/llvm-tblgen] Error 1 >> >>>> make[1]: *** [utils/TableGen/CMakeFiles/llvm-tblgen.dir/all] Error 2 >> >>>> make: *** [all] Error 2 >> >>>> >> >>>> This is on x86_64-apple-darwin16 with Xcode 9.0. >> >>>> Jack >> >>>> >> >>>> _______________________________________________ >> >>>> LLVM Developers mailing list >> >>>> llvm-dev at lists.llvm.org >> >>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >>>> >> >>> >> >> >> > >> > >> > _______________________________________________ >> > LLVM Developers mailing list >> > llvm-dev at lists.llvm.org >> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> > > >
On Sun, Oct 15, 2017 at 8:06 AM, Aaron Ballman <aaron at aaronballman.com> wrote:> On Sun, Oct 15, 2017 at 10:58 AM, Don Hinton <hintonda at gmail.com> wrote: > > Thanks Aaron. > > > > I don't have a Windows system, and haven't seen any buildbot failures, > so I > > it's difficult to come up with a patch for something I can't reproduce > > locally or see any actual failures. Could you send me the commands you > used > > that uncovered the failure? > > This was from building Clang + LLVM on Windows 10 with MSVC 2017 x64 > Debug. My cmake command to generate the VS solution is pretty > uninteresting: cmake -G "Visual Studio 15 Win64" ..\llvm > > I fixed a few of the link errors that Jack pointed out before > stumbling on the problem in AsmMatcherEmitter::run(). I wasn't > comfortable attempting to work around it there because the > DEBUG_WITH_TYPE macro was conflicting with trying to guard calls to > MatchableInfo::dump() with LLVM_ENABLE_DUMP. > > I think this is another instance of "TableGen wasn't done along with > the rest of llvm" -- nothing about it should be Visual Studio- or > Windows-specific. >I think this is specific to cmake generators that create multiple configuration types -- visual studio and xcode. Setting LLVM_ENABLE_DUMP in a header just won't work in those situations, so it might make sense to remove it altogether. Thanks again... don> > ~Aaron > > > > > thanks again... > > don > > > > On Sun, Oct 15, 2017 at 7:35 AM, Aaron Ballman <aaron at aaronballman.com> > > wrote: > >> > >> On Sat, Oct 14, 2017 at 11:25 AM, Don Hinton via llvm-dev > >> <llvm-dev at lists.llvm.org> wrote: > >> > Hi Jack: > >> > > >> > Yes, I was just looking at that. Seems like TableGen wasn't done > along > >> > with > >> > the rest of llvm. I'll work up a complete patch shortly. > >> > >> This also broke the build for MSVC when doing a debug build (though no > >> builder seems to be picking up the failure!). After working around a > >> handful of link errors, I came to one that's going to require more > >> understanding of LLVM's tablegen than I have. > >> > >> Error LNK2019 unresolved external symbol "public: void __cdecl > >> `anonymous namespace'::MatchableInfo::dump(void)const " > >> (?dump at MatchableInfo@?A0xf4f1c304@@QEBAXXZ) referenced in function > >> "public: void __cdecl `anonymous > >> namespace'::AsmMatcherEmitter::run(class llvm::raw_ostream &)" > >> (?run at AsmMatcherEmitter@?A0xf4f1c304@@QEAAXAEAVraw_ostream at llvm@@@Z) > >> llvm-tblgen D:\llvm\2017\utils\TableGen\AsmMatcherEmitter.obj 1 > >> > >> Since this has been broken for over a day and the fixes are > >> nontrivial, I've reverted your commit (r315590) in r315854. Hopefully > >> this doesn't cause you too many problems! > >> > >> ~Aaron > >> > >> > > >> > Btw, I'm curious how this happened. Do you have a stale > CMakeCache.txt > >> > by > >> > any chance? You might check the value for LLVM_ENABLE_DUMP and see if > >> > it's > >> > consistent. > >> > > >> > Again, I'll gen up a complete patch shortly -- sorry for delay, had to > >> > walk > >> > my dog first... > >> > > >> > thanks... > >> > don > >> > > >> > On Sat, Oct 14, 2017 at 8:06 AM, Jack Howarth > >> > <howarth.mailing.lists at gmail.com> wrote: > >> >> > >> >> > >> >> > >> >> On Sat, Oct 14, 2017 at 10:25 AM, Don Hinton <hintonda at gmail.com> > >> >> wrote: > >> >>> > >> >>> Hi Jack: > >> >>> > >> >>> Looks like I missed this one in my recent change. > >> >>> > >> >>> Please let me know if this solves your problem: > >> >>> > >> >>> $ git diff > >> >>> diff --git a/utils/TableGen/InfoByHwMode.cpp > >> >>> b/utils/TableGen/InfoByHwMode.cpp > >> >>> index 7e1e1864356..8d3636432aa 100644 > >> >>> --- a/utils/TableGen/InfoByHwMode.cpp > >> >>> +++ b/utils/TableGen/InfoByHwMode.cpp > >> >>> @@ -98,14 +98,16 @@ void ValueTypeByHwMode:: > writeToStream(raw_ostream > >> >>> &OS) const { > >> >>> OS << '}'; > >> >>> } > >> >>> > >> >>> +#ifdef LLVM_ENABLE_DUMP > >> >>> LLVM_DUMP_METHOD > >> >>> void ValueTypeByHwMode::dump() const { > >> >>> dbgs() << *this << '\n'; > >> >>> } > >> >>> +#endif > >> >>> > >> >>> ValueTypeByHwMode llvm::getValueTypeByHwMode(Record *Rec, > >> >>> const CodeGenHwModes > >> >>> &CGH) > >> >>> { > >> >>> -#ifndef NDEBUG > >> >>> +#ifdef LLVM_ENABLE_DUMP > >> >>> if (!Rec->isSubClassOf("ValueType")) > >> >>> Rec->dump(); > >> >>> #endif > >> >>> > >> >>> > >> >>> thanks... > >> >>> don > >> >>> > >> >> > >> >> The patch seems to be incomplete as it moves the failure to... > >> >> > >> >> [ 6%] Linking CXX executable ../../bin/llvm-tblgen > >> >> cd /sw/src/fink.build/llvm60-6.0.0-1/build/stage1/utils/TableGen && > >> >> /sw/bin/cmake -E cmake_link_script CMakeFiles/llvm-tblgen.dir/ > link.txt > >> >> --verbose=1 > >> >> /sw/src/fink.build/llvm60-6.0.0-1/opt-bin/ccclang++ -fno-common > -fPIC > >> >> -fvisibility-inlines-hidden -Werror=date-time > >> >> -Werror=unguarded-availability-new -std=c++11 -Wall -W > >> >> -Wno-unused-parameter > >> >> -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic > >> >> -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor > >> >> -Wdelete-non-virtual-dtor -Wstring-conversion -O3 > >> >> -Wl,-search_paths_first > >> >> -Wl,-headerpad_max_install_names -L/sw/lib -Wl,-dead_strip > >> >> CMakeFiles/obj.llvm-tblgen.dir/AsmMatcherEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterInst.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/Attributes.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/CallingConvEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeEmitterGen.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenDAGPatterns.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenHwModes.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenInstruction.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenMapTable.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenRegisters.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenSchedule.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenTarget.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherGen.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcher.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/DisassemblerEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/FastISelEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/FixedLenDecoderEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/GlobalISelEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/InfoByHwMode.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/InstrInfoEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/IntrinsicEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/OptParserEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/PseudoLoweringEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/RegisterBankEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/RegisterInfoEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/SearchableTableEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/SubtargetEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/SubtargetFeatureInfo.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/TableGen.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/Types.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/X86DisassemblerTables.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/X86EVEX2VEXTablesEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/X86FoldTablesEmitter.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/X86ModRMFilters.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/X86RecognizableInstr.cpp.o > >> >> CMakeFiles/obj.llvm-tblgen.dir/CTagsEmitter.cpp.o -o > >> >> ../../bin/llvm-tblgen > >> >> -Wl,-rpath, at loader_path/../lib ../../lib/libLLVMSupport.a > >> >> ../../lib/libLLVMTableGen.a ../../lib/libLLVMSupport.a -lcurses -lz > -lm > >> >> ../../lib/libLLVMDemangle.a > >> >> Undefined symbols for architecture x86_64: > >> >> "llvm::SubtargetFeatureInfo::dump() const", referenced from: > >> >> (anonymous namespace)::AsmMatcherInfo::buildInfo() in > >> >> AsmMatcherEmitter.cpp.o > >> >> "(anonymous namespace)::MatchableInfo::dump() const", referenced > >> >> from: > >> >> (anonymous namespace)::AsmMatcherEmitter: > :run(llvm::raw_ostream&) > >> >> in > >> >> AsmMatcherEmitter.cpp.o > >> >> ld: symbol(s) not found for architecture x86_64 > >> >> clang: error: linker command failed with exit code 1 (use -v to see > >> >> invocation) > >> >> make[2]: *** [bin/llvm-tblgen] Error 1 > >> >> make[1]: *** [utils/TableGen/CMakeFiles/llvm-tblgen.dir/all] Error 2 > >> >> make: *** [all] Error 2 > >> >> > >> >> Jack > >> >> > >> >>> > >> >>> > >> >>> On Sat, Oct 14, 2017 at 6:06 AM, Jack Howarth via llvm-dev > >> >>> <llvm-dev at lists.llvm.org> wrote: > >> >>>> > >> >>>> Is anyone else seeing this bootstrap failure on current svn trunk? > >> >>>> > >> >>>> [ 6%] Linking CXX executable ../../bin/llvm-tblgen > >> >>>> cd /sw/src/fink.build/llvm60-6.0.0-1/build/stage1/utils/TableGen > && > >> >>>> /sw/bin/cmake -E cmake_link_script > >> >>>> CMakeFiles/llvm-tblgen.dir/link.txt > >> >>>> --verbose=1 > >> >>>> /sw/src/fink.build/llvm60-6.0.0-1/opt-bin/ccclang++ -fno-common > >> >>>> -fPIC > >> >>>> -fvisibility-inlines-hidden -Werror=date-time > >> >>>> -Werror=unguarded-availability-new -std=c++11 -Wall -W > >> >>>> -Wno-unused-parameter > >> >>>> -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic > >> >>>> -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor > >> >>>> -Wdelete-non-virtual-dtor -Wstring-conversion -O3 > >> >>>> -Wl,-search_paths_first > >> >>>> -Wl,-headerpad_max_install_names -L/sw/lib -Wl,-dead_strip > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/AsmMatcherEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterInst.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/Attributes.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CallingConvEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeEmitterGen.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenDAGPatterns.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenHwModes.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenInstruction.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenMapTable.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenRegisters.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenSchedule.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenTarget.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherGen.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcher.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DisassemblerEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/FastISelEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/FixedLenDecoderEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/GlobalISelEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/InfoByHwMode.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/InstrInfoEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/IntrinsicEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/OptParserEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/PseudoLoweringEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/RegisterBankEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/RegisterInfoEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/SearchableTableEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/SubtargetEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/SubtargetFeatureInfo.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/TableGen.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/Types.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86DisassemblerTables.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86EVEX2VEXTablesEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86FoldTablesEmitter.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86ModRMFilters.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86RecognizableInstr.cpp.o > >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CTagsEmitter.cpp.o -o > >> >>>> ../../bin/llvm-tblgen > >> >>>> -Wl,-rpath, at loader_path/../lib ../../lib/libLLVMSupport.a > >> >>>> ../../lib/libLLVMTableGen.a ../../lib/libLLVMSupport.a -lcurses -lz > >> >>>> -lm > >> >>>> ../../lib/libLLVMDemangle.a > >> >>>> Undefined symbols for architecture x86_64: > >> >>>> "llvm::Record::dump() const", referenced from: > >> >>>> llvm::getValueTypeByHwMode(llvm::Record*, > llvm::CodeGenHwModes > >> >>>> const&) in InfoByHwMode.cpp.o > >> >>>> "llvm::SubtargetFeatureInfo::dump() const", referenced from: > >> >>>> (anonymous namespace)::AsmMatcherInfo::buildInfo() in > >> >>>> AsmMatcherEmitter.cpp.o > >> >>>> "(anonymous namespace)::MatchableInfo::dump() const", referenced > >> >>>> from: > >> >>>> (anonymous > >> >>>> namespace)::AsmMatcherEmitter::run(llvm::raw_ostream&) > >> >>>> in AsmMatcherEmitter.cpp.o > >> >>>> ld: symbol(s) not found for architecture x86_64 > >> >>>> clang: error: linker command failed with exit code 1 (use -v to see > >> >>>> invocation) > >> >>>> make[2]: *** [bin/llvm-tblgen] Error 1 > >> >>>> make[1]: *** [utils/TableGen/CMakeFiles/llvm-tblgen.dir/all] > Error 2 > >> >>>> make: *** [all] Error 2 > >> >>>> > >> >>>> This is on x86_64-apple-darwin16 with Xcode 9.0. > >> >>>> Jack > >> >>>> > >> >>>> _______________________________________________ > >> >>>> LLVM Developers mailing list > >> >>>> llvm-dev at lists.llvm.org > >> >>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > >> >>>> > >> >>> > >> >> > >> > > >> > > >> > _______________________________________________ > >> > LLVM Developers mailing list > >> > llvm-dev at lists.llvm.org > >> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > >> > > > > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171015/b6ddadef/attachment-0001.html>
On Sun, Oct 15, 2017 at 11:19 AM, Don Hinton <hintonda at gmail.com> wrote:> On Sun, Oct 15, 2017 at 8:06 AM, Aaron Ballman <aaron at aaronballman.com> > wrote: >> >> On Sun, Oct 15, 2017 at 10:58 AM, Don Hinton <hintonda at gmail.com> wrote: >> > Thanks Aaron. >> > >> > I don't have a Windows system, and haven't seen any buildbot failures, >> > so I >> > it's difficult to come up with a patch for something I can't reproduce >> > locally or see any actual failures. Could you send me the commands you >> > used >> > that uncovered the failure? >> >> This was from building Clang + LLVM on Windows 10 with MSVC 2017 x64 >> Debug. My cmake command to generate the VS solution is pretty >> uninteresting: cmake -G "Visual Studio 15 Win64" ..\llvm >> >> I fixed a few of the link errors that Jack pointed out before >> stumbling on the problem in AsmMatcherEmitter::run(). I wasn't >> comfortable attempting to work around it there because the >> DEBUG_WITH_TYPE macro was conflicting with trying to guard calls to >> MatchableInfo::dump() with LLVM_ENABLE_DUMP. >> >> I think this is another instance of "TableGen wasn't done along with >> the rest of llvm" -- nothing about it should be Visual Studio- or >> Windows-specific. > > > I think this is specific to cmake generators that create multiple > configuration types -- visual studio and xcode. Setting LLVM_ENABLE_DUMP in > a header just won't work in those situations, so it might make sense to > remove it altogether.FWIW, most of the ones I was fixing up were guarded by NDEBUG instead of LLVM_ENABLE_DUMP. Switching to LLVM_ENABLE_DUMP fixed the link errors for me -- the only one I struggled with was AsmMatcherEmitter::run(). But it sounds like you're saying switching the configuration type in MSVC from Debug to Release would have possibly caused issues as well? ~Aaron> > Thanks again... > don > > > > >> >> >> ~Aaron >> >> > >> > thanks again... >> > don >> > >> > On Sun, Oct 15, 2017 at 7:35 AM, Aaron Ballman <aaron at aaronballman.com> >> > wrote: >> >> >> >> On Sat, Oct 14, 2017 at 11:25 AM, Don Hinton via llvm-dev >> >> <llvm-dev at lists.llvm.org> wrote: >> >> > Hi Jack: >> >> > >> >> > Yes, I was just looking at that. Seems like TableGen wasn't done >> >> > along >> >> > with >> >> > the rest of llvm. I'll work up a complete patch shortly. >> >> >> >> This also broke the build for MSVC when doing a debug build (though no >> >> builder seems to be picking up the failure!). After working around a >> >> handful of link errors, I came to one that's going to require more >> >> understanding of LLVM's tablegen than I have. >> >> >> >> Error LNK2019 unresolved external symbol "public: void __cdecl >> >> `anonymous namespace'::MatchableInfo::dump(void)const " >> >> (?dump at MatchableInfo@?A0xf4f1c304@@QEBAXXZ) referenced in function >> >> "public: void __cdecl `anonymous >> >> namespace'::AsmMatcherEmitter::run(class llvm::raw_ostream &)" >> >> (?run at AsmMatcherEmitter@?A0xf4f1c304@@QEAAXAEAVraw_ostream at llvm@@@Z) >> >> llvm-tblgen D:\llvm\2017\utils\TableGen\AsmMatcherEmitter.obj 1 >> >> >> >> Since this has been broken for over a day and the fixes are >> >> nontrivial, I've reverted your commit (r315590) in r315854. Hopefully >> >> this doesn't cause you too many problems! >> >> >> >> ~Aaron >> >> >> >> > >> >> > Btw, I'm curious how this happened. Do you have a stale >> >> > CMakeCache.txt >> >> > by >> >> > any chance? You might check the value for LLVM_ENABLE_DUMP and see >> >> > if >> >> > it's >> >> > consistent. >> >> > >> >> > Again, I'll gen up a complete patch shortly -- sorry for delay, had >> >> > to >> >> > walk >> >> > my dog first... >> >> > >> >> > thanks... >> >> > don >> >> > >> >> > On Sat, Oct 14, 2017 at 8:06 AM, Jack Howarth >> >> > <howarth.mailing.lists at gmail.com> wrote: >> >> >> >> >> >> >> >> >> >> >> >> On Sat, Oct 14, 2017 at 10:25 AM, Don Hinton <hintonda at gmail.com> >> >> >> wrote: >> >> >>> >> >> >>> Hi Jack: >> >> >>> >> >> >>> Looks like I missed this one in my recent change. >> >> >>> >> >> >>> Please let me know if this solves your problem: >> >> >>> >> >> >>> $ git diff >> >> >>> diff --git a/utils/TableGen/InfoByHwMode.cpp >> >> >>> b/utils/TableGen/InfoByHwMode.cpp >> >> >>> index 7e1e1864356..8d3636432aa 100644 >> >> >>> --- a/utils/TableGen/InfoByHwMode.cpp >> >> >>> +++ b/utils/TableGen/InfoByHwMode.cpp >> >> >>> @@ -98,14 +98,16 @@ void >> >> >>> ValueTypeByHwMode::writeToStream(raw_ostream >> >> >>> &OS) const { >> >> >>> OS << '}'; >> >> >>> } >> >> >>> >> >> >>> +#ifdef LLVM_ENABLE_DUMP >> >> >>> LLVM_DUMP_METHOD >> >> >>> void ValueTypeByHwMode::dump() const { >> >> >>> dbgs() << *this << '\n'; >> >> >>> } >> >> >>> +#endif >> >> >>> >> >> >>> ValueTypeByHwMode llvm::getValueTypeByHwMode(Record *Rec, >> >> >>> const CodeGenHwModes >> >> >>> &CGH) >> >> >>> { >> >> >>> -#ifndef NDEBUG >> >> >>> +#ifdef LLVM_ENABLE_DUMP >> >> >>> if (!Rec->isSubClassOf("ValueType")) >> >> >>> Rec->dump(); >> >> >>> #endif >> >> >>> >> >> >>> >> >> >>> thanks... >> >> >>> don >> >> >>> >> >> >> >> >> >> The patch seems to be incomplete as it moves the failure to... >> >> >> >> >> >> [ 6%] Linking CXX executable ../../bin/llvm-tblgen >> >> >> cd /sw/src/fink.build/llvm60-6.0.0-1/build/stage1/utils/TableGen && >> >> >> /sw/bin/cmake -E cmake_link_script >> >> >> CMakeFiles/llvm-tblgen.dir/link.txt >> >> >> --verbose=1 >> >> >> /sw/src/fink.build/llvm60-6.0.0-1/opt-bin/ccclang++ -fno-common >> >> >> -fPIC >> >> >> -fvisibility-inlines-hidden -Werror=date-time >> >> >> -Werror=unguarded-availability-new -std=c++11 -Wall -W >> >> >> -Wno-unused-parameter >> >> >> -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic >> >> >> -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor >> >> >> -Wdelete-non-virtual-dtor -Wstring-conversion -O3 >> >> >> -Wl,-search_paths_first >> >> >> -Wl,-headerpad_max_install_names -L/sw/lib -Wl,-dead_strip >> >> >> CMakeFiles/obj.llvm-tblgen.dir/AsmMatcherEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterInst.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/Attributes.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/CallingConvEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeEmitterGen.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenDAGPatterns.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenHwModes.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenInstruction.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenMapTable.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenRegisters.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenSchedule.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/CodeGenTarget.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherGen.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcher.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/DisassemblerEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/FastISelEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/FixedLenDecoderEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/GlobalISelEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/InfoByHwMode.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/InstrInfoEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/IntrinsicEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/OptParserEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/PseudoLoweringEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/RegisterBankEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/RegisterInfoEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/SearchableTableEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/SubtargetEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/SubtargetFeatureInfo.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/TableGen.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/Types.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/X86DisassemblerTables.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/X86EVEX2VEXTablesEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/X86FoldTablesEmitter.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/X86ModRMFilters.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/X86RecognizableInstr.cpp.o >> >> >> CMakeFiles/obj.llvm-tblgen.dir/CTagsEmitter.cpp.o -o >> >> >> ../../bin/llvm-tblgen >> >> >> -Wl,-rpath, at loader_path/../lib ../../lib/libLLVMSupport.a >> >> >> ../../lib/libLLVMTableGen.a ../../lib/libLLVMSupport.a -lcurses -lz >> >> >> -lm >> >> >> ../../lib/libLLVMDemangle.a >> >> >> Undefined symbols for architecture x86_64: >> >> >> "llvm::SubtargetFeatureInfo::dump() const", referenced from: >> >> >> (anonymous namespace)::AsmMatcherInfo::buildInfo() in >> >> >> AsmMatcherEmitter.cpp.o >> >> >> "(anonymous namespace)::MatchableInfo::dump() const", referenced >> >> >> from: >> >> >> (anonymous >> >> >> namespace)::AsmMatcherEmitter::run(llvm::raw_ostream&) >> >> >> in >> >> >> AsmMatcherEmitter.cpp.o >> >> >> ld: symbol(s) not found for architecture x86_64 >> >> >> clang: error: linker command failed with exit code 1 (use -v to see >> >> >> invocation) >> >> >> make[2]: *** [bin/llvm-tblgen] Error 1 >> >> >> make[1]: *** [utils/TableGen/CMakeFiles/llvm-tblgen.dir/all] Error 2 >> >> >> make: *** [all] Error 2 >> >> >> >> >> >> Jack >> >> >> >> >> >>> >> >> >>> >> >> >>> On Sat, Oct 14, 2017 at 6:06 AM, Jack Howarth via llvm-dev >> >> >>> <llvm-dev at lists.llvm.org> wrote: >> >> >>>> >> >> >>>> Is anyone else seeing this bootstrap failure on current svn trunk? >> >> >>>> >> >> >>>> [ 6%] Linking CXX executable ../../bin/llvm-tblgen >> >> >>>> cd /sw/src/fink.build/llvm60-6.0.0-1/build/stage1/utils/TableGen >> >> >>>> && >> >> >>>> /sw/bin/cmake -E cmake_link_script >> >> >>>> CMakeFiles/llvm-tblgen.dir/link.txt >> >> >>>> --verbose=1 >> >> >>>> /sw/src/fink.build/llvm60-6.0.0-1/opt-bin/ccclang++ -fno-common >> >> >>>> -fPIC >> >> >>>> -fvisibility-inlines-hidden -Werror=date-time >> >> >>>> -Werror=unguarded-availability-new -std=c++11 -Wall -W >> >> >>>> -Wno-unused-parameter >> >> >>>> -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic >> >> >>>> -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor >> >> >>>> -Wdelete-non-virtual-dtor -Wstring-conversion -O3 >> >> >>>> -Wl,-search_paths_first >> >> >>>> -Wl,-headerpad_max_install_names -L/sw/lib -Wl,-dead_strip >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/AsmMatcherEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterInst.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/Attributes.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CallingConvEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeEmitterGen.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenDAGPatterns.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenHwModes.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenInstruction.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenMapTable.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenRegisters.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenSchedule.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CodeGenTarget.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherGen.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcher.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/DisassemblerEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/FastISelEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/FixedLenDecoderEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/GlobalISelEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/InfoByHwMode.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/InstrInfoEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/IntrinsicEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/OptParserEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/PseudoLoweringEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/RegisterBankEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/RegisterInfoEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/SearchableTableEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/SubtargetEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/SubtargetFeatureInfo.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/TableGen.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/Types.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86DisassemblerTables.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86EVEX2VEXTablesEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86FoldTablesEmitter.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86ModRMFilters.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/X86RecognizableInstr.cpp.o >> >> >>>> CMakeFiles/obj.llvm-tblgen.dir/CTagsEmitter.cpp.o -o >> >> >>>> ../../bin/llvm-tblgen >> >> >>>> -Wl,-rpath, at loader_path/../lib ../../lib/libLLVMSupport.a >> >> >>>> ../../lib/libLLVMTableGen.a ../../lib/libLLVMSupport.a -lcurses >> >> >>>> -lz >> >> >>>> -lm >> >> >>>> ../../lib/libLLVMDemangle.a >> >> >>>> Undefined symbols for architecture x86_64: >> >> >>>> "llvm::Record::dump() const", referenced from: >> >> >>>> llvm::getValueTypeByHwMode(llvm::Record*, >> >> >>>> llvm::CodeGenHwModes >> >> >>>> const&) in InfoByHwMode.cpp.o >> >> >>>> "llvm::SubtargetFeatureInfo::dump() const", referenced from: >> >> >>>> (anonymous namespace)::AsmMatcherInfo::buildInfo() in >> >> >>>> AsmMatcherEmitter.cpp.o >> >> >>>> "(anonymous namespace)::MatchableInfo::dump() const", referenced >> >> >>>> from: >> >> >>>> (anonymous >> >> >>>> namespace)::AsmMatcherEmitter::run(llvm::raw_ostream&) >> >> >>>> in AsmMatcherEmitter.cpp.o >> >> >>>> ld: symbol(s) not found for architecture x86_64 >> >> >>>> clang: error: linker command failed with exit code 1 (use -v to >> >> >>>> see >> >> >>>> invocation) >> >> >>>> make[2]: *** [bin/llvm-tblgen] Error 1 >> >> >>>> make[1]: *** [utils/TableGen/CMakeFiles/llvm-tblgen.dir/all] Error >> >> >>>> 2 >> >> >>>> make: *** [all] Error 2 >> >> >>>> >> >> >>>> This is on x86_64-apple-darwin16 with Xcode 9.0. >> >> >>>> Jack >> >> >>>> >> >> >>>> _______________________________________________ >> >> >>>> LLVM Developers mailing list >> >> >>>> llvm-dev at lists.llvm.org >> >> >>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >> >>>> >> >> >>> >> >> >> >> >> > >> >> > >> >> > _______________________________________________ >> >> > LLVM Developers mailing list >> >> > llvm-dev at lists.llvm.org >> >> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >> > >> > >> > > >