[libcxx-commits] [PATCH] D73743: Inline basic_string::erase for fastpath where __n == npos

Eric Fiselier via libcxx-commits libcxx-commits at lists.llvm.org
Wed Feb 26 21:07:23 PST 2020


It looks like you need to recompile your standards library. Based on the
__2 suffix you're not using the stable ABI.

On Wed., Feb. 26, 2020, 9:25 p.m. Leonard Chan via Phabricator, <
reviews at reviews.llvm.org> wrote:

> leonardchan added a comment.
>
> Hi, I believe this patch is causing the following undefined symbol error
> we're seeing in our 2 stage mac builders:
>
>   [367/3568] Linking CXX executable bin/llvm-tblgen
>   FAILED: bin/llvm-tblgen
>   : &&
> /b/s/w/ir/k/recipe_cleanup/clangINjhKi/llvm_build_dir/./bin/clang++  -fPIC
> -fvisibility-inlines-hidden -Werror=date-time
> -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter
> -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic
> -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default
> -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor
> -Wstring-conversion -fdiagnostics-color -flto
> -fdebug-prefix-map=/b/s/w/ir/k/recipe_cleanup/clangINjhKi/llvm_build_dir/tools/clang/stage2-bins=../recipe_cleanup/clangINjhKi/llvm_build_dir/tools/clang/stage2-bins
> -fdebug-prefix-map=/b/s/w/ir/k/llvm-project/= -no-canonical-prefixes -O3
> -DNDEBUG -Wl,-search_paths_first -Wl,-headerpad_max_install_names
> -nostdlib++ /b/s/w/ir/k/cipd/lib/libc++.a -flto -Wl,-lto_library
> -Wl,/b/s/w/ir/k/recipe_cleanup/clangINjhKi/llvm_build_dir/./lib/libLTO.dylib
>   -Wl,-dead_strip
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmMatcherEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterInst.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/Attributes.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/CallingConvEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeEmitterGen.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenDAGPatterns.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenHwModes.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenInstruction.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenMapTable.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenRegisters.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenSchedule.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenTarget.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherGen.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcher.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/DFAEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/DisassemblerEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/ExegesisEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/FastISelEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/FixedLenDecoderEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/GICombinerEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/GlobalISelEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/InfoByHwMode.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/InstrInfoEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/InstrDocsEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/IntrinsicEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/OptEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/OptParserEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/OptRSTEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/PredicateExpander.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/PseudoLoweringEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/RISCVCompressInstEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/RegisterBankEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/RegisterInfoEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/SDNodeProperties.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/SearchableTableEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/SubtargetEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/SubtargetFeatureInfo.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/TableGen.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/Types.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86DisassemblerTables.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86EVEX2VEXTablesEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86FoldTablesEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86ModRMFilters.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86RecognizableInstr.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/WebAssemblyDisassemblerEmitter.cpp.o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/CTagsEmitter.cpp.o  -o
> bin/llvm-tblgen  -Wl,-rpath, at loader_path/../lib lib/libLLVMSupport.a
> lib/libLLVMTableGen.a lib/libLLVMTableGenGlobalISel.a lib/libLLVMSupport.a
> /usr/lib/libz.dylib -lm lib/libLLVMDemangle.a && :
>   Undefined symbols for architecture x86_64:
>     "std::__2::basic_string<char, std::__2::char_traits<char>,
> std::__2::allocator<char> >::__erase_external_with_move(unsigned long,
> unsigned long)", referenced from:
>         (anonymous
> namespace)::AsmWriterEmitter::EmitPrintInstruction(llvm::raw_ostream&) in
> lto.o
>         UnescapeString(std::__2::basic_string<char,
> std::__2::char_traits<char>, std::__2::allocator<char> >&) in lto.o
>   ld: symbol(s) not found for architecture x86_64
>   clang++: error: linker command failed with exit code 1 (use -v to see
> invocation)
>
> Could you take a look and send out a fix or revert? Thanks.
>
> Builder:
> https://luci-milo.appspot.com/p/fuchsia/builders/prod/clang-mac-x64/b8887357725525428704
>
>
> Repository:
>   rG LLVM Github Monorepo
>
> CHANGES SINCE LAST ACTION
>   https://reviews.llvm.org/D73743/new/
>
> https://reviews.llvm.org/D73743
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20200227/4da44032/attachment-0001.html>


More information about the libcxx-commits mailing list