cofibrant wrote:

I've managed to reproduce the stage 2 build failure locally but not yet 
minimise it. Here are the steps:

1. Build `clang`
2. Configure bootstrapped reproducer with modules and MacOS X 15.2 SDK (as in 
builder)
```sh
cmake -G Ninja -S llvm -B build-repro \
    -DCMAKE_C_COMPILER=$PWD/build/bin/clang \
    -DCMAKE_CXX_COMPILER=$PWD/build/bin/clang++ \
    -DCMAKE_OSX_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk 
\
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \
    -DLLVM_TARGETS_TO_BUILD=AArch64 \
    -DLLVM_ENABLE_MODULES=ON
```
3. Build `llvm-min-tblgen`:
```sh
ninja -C build-repro llvm-min-tblgen
```

This fails with:
```
FAILED: [code=1] bin/llvm-min-tblgen
: && /Users/nathan/src/external/llvm-project/build/bin/clang++ -fPIC 
-fvisibility-inlines-hidden -Werror=date-time 
-Werror=unguarded-availability-new -fmodules 
-fmodules-cache-path=/Users/nathan/src/external/llvm-project/build-repro/module.cache
 -fcxx-modules -Xclang -fmodules-local-submodule-visibility -gmodules -Wall 
-Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual 
-Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi 
-Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type 
-Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override 
-Wstring-conversion -Wno-pass-failed -Wmisleading-indentation 
-Wctad-maybe-unsupported -fdiagnostics-color -O2 -g -DNDEBUG -arch arm64 
-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk 
-Wl,-search_paths_first -Wl,-headerpad_max_install_names  -Wl,-dead_strip 
-Wl,-no_warn_duplicate_libraries 
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/ARMTargetDefEmitter.cpp.o
 utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/Attributes.cpp.o 
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/CodeGenIntrinsics.cpp.o
 
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/DirectiveEmitter.cpp.o
 
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/IntrinsicEmitter.cpp.o
 
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RISCVTargetDefEmitter.cpp.o
 
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RuntimeLibcallsEmitter.cpp.o
 
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RuntimeLibcalls.cpp.o 
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/SDNodeProperties.cpp.o
 utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TableGen.cpp.o 
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TargetFeaturesEmitter.cpp.o
 
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TargetLibraryInfoEmitter.cpp.o
 utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/VTEmitter.cpp.o 
utils/TableGen/CMakeFiles/llvm-min-tblgen.dir/llvm-min-tblgen.cpp.o -o 
bin/llvm-min-tblgen  -Wl,-rpath,@loader_path/../lib  lib/libLLVMSupport.a  
lib/libLLVMTableGen.a  -lm  
/Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk/usr/lib/libz.tbd  
lib/libLLVMDemangle.a && :
Undefined symbols for architecture arm64:
  
"std::__1::enable_if<is_move_constructible<std::__1::__shared_weak_count*>::value
 && is_move_assignable<std::__1::__shared_weak_count*>::value, void>::type 
std::__1::swap[abi:nn180100]<std::__1::__shared_weak_count*>(std::__1::__shared_weak_count*&,
 std::__1::__shared_weak_count*&)", referenced from:
      (anonymous namespace)::RealFileSystem::dir_begin(llvm::Twine const&, 
std::__1::error_code&) in libLLVMSupport.a[143](VirtualFileSystem.cpp.o)
      (anonymous namespace)::RealFileSystem::dir_begin(llvm::Twine const&, 
std::__1::error_code&) in libLLVMSupport.a[143](VirtualFileSystem.cpp.o)
      llvm::sys::fs::directory_iterator::directory_iterator(llvm::Twine const&, 
std::__1::error_code&, bool) in libLLVMSupport.a[168](Path.cpp.o)
ld: symbol(s) not found for architecture arm64
clang++: error: linker command failed with exit code 1 (use -v to see 
invocation)
ninja: build stopped: subcommand failed.
```
after this commit, but succeeds otherwise.

https://github.com/llvm/llvm-project/pull/208285
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to