MINGW-packages icon indicating copy to clipboard operation
MINGW-packages copied to clipboard

rust: update to 1.77.0

Open filnet opened this issue 11 months ago • 66 comments

https://blog.rust-lang.org/inside-rust/2024/03/17/1.77.0-prerelease.html

filnet avatar Mar 20 '24 23:03 filnet

CLANG32 is the loner...

error: linking with `clang` failed: exit code: 1
    |
    = note: "clang" "-fno-use-linker-plugin" "-Wl,--dynamicbase" "-Wl,--disable-auto-image-base" "-Wl,--large-address-aware" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\rsbegin.o" "D:\\M\\msys64\\tmp\\rustcErS6Yq\\symbols.o" "C:/_/B/src/CLANG32/build/bootstrap\\debug\\build\\windows_i686_gnu-aa3f329de6df47e2\\build_script_build-aa3f329de6df47e2.build_script_build.f37e2ead72758152-cgu.0.rcgu.o" "C:/_/B/src/CLANG32/build/bootstrap\\debug\\build\\windows_i686_gnu-aa3f329de6df47e2\\build_script_build-aa3f329de6df47e2.5bswo3llfzo1dgb7.rcgu.o" "-L" "C:/_/B/src/CLANG32/build/bootstrap\\debug\\deps" "-L" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib" "-Wl,-Bstatic" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libstd-61edd68fedab197a.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libpanic_unwind-a8caf3c2c86a2299.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libobject-e4a3ac143fc85171.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libmemchr-4a6c1366628bf690.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libaddr2line-11616d53bf36b427.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libgimli-9d232a32a81a257c.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\librustc_demangle-53578b8b398c4889.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libstd_detect-b6134ac458d24d93.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libhashbrown-7c07d8a0d8f49bfd.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\librustc_std_workspace_alloc-9a85460e4da4c847.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libminiz_oxide-16b28f7c4fc1caf7.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libadler-35690024bcc3846b.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libunwind-60df09bfb9e011f8.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libcfg_if-c6a69194907dbdac.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\liblibc-69a57e92260b3214.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\liballoc-4aee5b77527e80db.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\librustc_std_workspace_core-ebf80429459d0158.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libcore-a7834f0c1fa91c64.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libcompiler_builtins-3ad82a9707b3fe3a.rlib" "-Wl,-Bdynamic" "-lkernel32" "-ladvapi32" "-lbcrypt" "-lkernel32" "-lntdll" "-luserenv" "-lws2_32" "-lkernel32" "-lws2_32" "-lkernel32" "-lntdll" "-lgcc_eh" "-l:libpthread.a" "-lmsvcrt" "-lmingwex" "-lmingw32" "-lgcc" "-lmsvcrt" "-luser32" "-lkernel32" "-Wl,--nxcompat" "-L" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib" "-o" "C:/_/B/src/CLANG32/build/bootstrap\\debug\\build\\windows_i686_gnu-aa3f329de6df47e2\\build_script_build-aa3f329de6df47e2.exe" "-Wl,--gc-sections" "-no-pie" "-nodefaultlibs" "-LC:/_/B/src/CLANG32/build/missing-libs-hack" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\rsend.o"
    = note: clang: warning: argument unused during compilation: '-no-pie' [-Wunused-command-line-argument]
            ld.lld: error: undefined symbol: ___register_frame_info
            >>> referenced by C:\_\B\src\CLANG32\build\i686-pc-windows-gnu\stage0\lib\rustlib\i686-pc-windows-gnu\lib\rsbegin.o:(rsbegin::eh_frames::init::h2357c9895245ac8f)
            
            ld.lld: error: undefined symbol: ___deregister_frame_info
            >>> referenced by C:\_\B\src\CLANG32\build\i686-pc-windows-gnu\stage0\lib\rustlib\i686-pc-windows-gnu\lib\rsbegin.o:(rsbegin::eh_frames::uninit::he7caf1a310466a98)
            clang: error: linker command failed with exit code 1 (use -v to see invocation)

filnet avatar Mar 21 '24 00:03 filnet

Some remarks/questions:

  • why is CLANG64 not failing in the same way ?
  • there is a CLANG specific patch that tweaks linking and linking of rsbegin in particular (see https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-rust/0007-clang-subsystem.patch)
  • it fails fast, in bootstrap stage, when using the previous version of rust.

@mati865, @jeremyd2019 any hunch as to what is going on ?

filnet avatar Mar 21 '24 16:03 filnet

Interestingly, the CLANG32 build that uses "our" previous Rust (i.e. with bootstrapping=no) passes the bootstrap stage but fails at the next stage (stage 0).

Building stage0 library artifacts (i686-pc-windows-gnu)

[...]

 error: linking with `clang` failed: exit code: 1
    |
    = note: "clang" "-Wl,D:\\M\\msys64\\tmp\\rustcn07LXS\\list.def" "-fno-use-linker-plugin" "-Wl,--dynamicbase" "-Wl,--disable-auto-image-base" "-Wl,--large-address-aware" "D:\\M\\msys64\\tmp\\rustcn07LXS\\symbols.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.00.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.01.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.02.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.03.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.04.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.05.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.06.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.07.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.08.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.09.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.10.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.11.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.12.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.13.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.14.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.std.ac5cca2121068465-cgu.15.rcgu.o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.czu560qbndlpjvu.rcgu.rmeta" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.1ifi826uq14nltjv.rcgu.o" "-L" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps" "-L" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\release\\deps" "-L" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\build\\compiler_builtins-6121261783a3d90a\\out" "-L" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-sysroot\\lib\\rustlib\\i686-pc-windows-gnu\\lib" "-Wl,-Bdynamic" "-lkernel32" "-ladvapi32" "-lbcrypt" "-lkernel32" "-lntdll" "-luserenv" "-lws2_32" "-lkernel32" "-lws2_32" "-lkernel32" "-lntdll" "-Wl,-Bstatic" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\libpanic_unwind-b13b2b9b16e7e825.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\libobject-c7bd465b60cb8745.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\libmemchr-8214d8dc9f271966.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\libaddr2line-ee29260ab2620bef.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\libgimli-a4ab3d37d3e4a5a7.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\librustc_demangle-921016c96804eb87.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\libstd_detect-44fa462c0fa9fd86.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\libhashbrown-ed77706a3fc74d39.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\librustc_std_workspace_alloc-c2504b5c6f5e7ef0.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\libminiz_oxide-28e72b2111d8dd19.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\libadler-43ad79ec50a1cbf7.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\libunwind-021424ab701b7084.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\libcfg_if-64c436d6e82868dc.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\liblibc-b63fb1a1e4253844.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\liballoc-7942dee9fbecb7a4.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\librustc_std_workspace_core-207e7f197307db63.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\libcore-1dbd9489092ce756.rlib" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\libcompiler_builtins-b4f82aaea392a565.rlib" "-Wl,-Bdynamic" "-l:libunwind.dll.a" "-Wl,--nxcompat" "-L" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-sysroot\\lib\\rustlib\\i686-pc-windows-gnu\\lib" "-o" "C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\std-a8e49522c5820595.dll" "-shared" "-Wl,--out-implib=C:\\_\\B\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0-std\\i686-pc-windows-gnu\\release\\deps\\libstd-a8e49522c5820595.dll.a" "-Wl,-O1"
    = note: ld.lld: error: undefined symbol: ___chkstk
  
            >>> referenced by libcompiler_builtins-b4f82aaea392a565.rlib(compiler_builtins-b4f82aaea392a565.compiler_builtins.7e56135fdaf6b426-cgu.127.rcgu.o):(___alloca)
  
            clang: error: linker command failed with exit code 1 (use -v to see invocation)
  
            
  
  error: could not compile `std` (lib) due to 1 previous error

filnet avatar Mar 21 '24 22:03 filnet

forgot to say. we've upgraded to llvm 18, but rust will support it only at 1.78.0. try backporting relevant PR

update: https://github.com/rust-lang/rust/pull/120055

ognevny avatar Mar 22 '24 03:03 ognevny

Chstk issue is basically lack of this PR: https://github.com/rust-lang/compiler-builtins/pull/575

Rsbegin and rsend crates should not be built in clang envs, probably we have to disable them somewhere in bootstrap crate.

mati865 avatar Mar 22 '24 07:03 mati865

forgot to say. we've upgraded to llvm 18, but rust will support it only at 1.78.0. try backporting relevant PR

update: rust-lang/rust#120055

The patch fails to apply (same as here https://github.com/msys2/MINGW-packages/pull/20337)

EDIT: that patch seems to be mostly concerned about building LLVM 18.

filnet avatar Mar 22 '24 07:03 filnet

Rsbegin and rsend crates should not be built in clang envs, probably we have to disable them somewhere in bootstrap crate.

Since our targets still identify as windws-gnu rather than windows-gnullvm this check doesn't return early: https://github.com/rust-lang/rust/blob/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/src/bootstrap/src/core/build_steps/compile.rs#L766 The easiest fix would be to create patch (applied only for Clang envs) that makes it always return, e.g. by removing the negation ! (this way we avoid warnings about unreachable code that are denied by bootstrap by the default).

mati865 avatar Mar 24 '24 12:03 mati865

The easiest fix would be to create patch (applied only for Clang envs) that makes it always return, e.g. by removing the negation ! (this way we avoid warnings about unreachable code that are denied by bootstrap by the default).

Just tried that and it did not make a difference.

filnet avatar Mar 24 '24 16:03 filnet

The problematic rsbuild.o and rsend.o are not the result of bootstrap compilation but are installed from the previous rust version.

...
  extracting rust-std-1.76.0-i686-pc-windows-gnu/rust-std-i686-pc-windows-gnu/lib/rustlib/i686-pc-windows-gnu/lib/self-contained/crt2.o
  extracting rust-std-1.76.0-i686-pc-windows-gnu/rust-std-i686-pc-windows-gnu/lib/rustlib/i686-pc-windows-gnu/lib/self-contained/dllcrt2.o
  extracting rust-std-1.76.0-i686-pc-windows-gnu/rust-std-i686-pc-windows-gnu/lib/rustlib/i686-pc-windows-gnu/lib/rsend.o
  extracting rust-std-1.76.0-i686-pc-windows-gnu/rust-std-i686-pc-windows-gnu/lib/rustlib/i686-pc-windows-gnu/lib/rsbegin.o
...

filnet avatar Mar 24 '24 16:03 filnet

Here is a verbose build up to the first linking error:

Building bootstrap
running: C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/cargo.exe build --manifest-path C:/M/mingw-w64-rust/src/rustc-1.77.0-src/src/bootstrap/Car
go.toml --verbose
   Compiling winapi-i686-pc-windows-gnu v0.4.0
   Compiling windows_i686_gnu v0.52.0
   Compiling proc-macro2 v1.0.76
   Compiling winapi v0.3.9
   Compiling unicode-ident v1.0.12
   Compiling cfg-if v1.0.0
   Compiling version_check v0.9.4
   Compiling typenum v1.17.0
   Compiling memchr v2.7.1
   Compiling serde v1.0.195
   Compiling cc v1.0.73
   Compiling crossbeam-utils v0.8.18
   Compiling libc v0.2.151
   Compiling pkg-config v0.3.28
   Compiling anstyle v1.0.4
   Compiling regex-syntax v0.8.2
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build 'C:\Users\Philippe\.cargo\registry\src\inde
x.crates.io-1cd66030c949c28d\winapi-i686-pc-windows-gnu-0.4.0\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width
=167 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C metadata=fc4712a389a91b4c -C extra-filename=-fc4712a389a91b4c --out-dir 'C:/M/mingw-w64-rust/src/CLANG
32/build/bootstrap\debug\build\winapi-i686-pc-windows-gnu-fc4712a389a91b4c' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' -
-cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build --edition=2021 'C:\Users\Philippe\.cargo\re
gistry\src\index.crates.io-1cd66030c949c28d\proc-macro2-1.0.76\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-widt
h=167 --crate-type bin --emit=dep-info,link -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=791b2d1e1d688c5d -C extra-filename=-7
91b2d1e1d688c5d --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\build\proc-macro2-791b2d1e1d688c5d' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/
src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-
libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build --edition=2021 'C:\Users\Philippe\.cargo\re
gistry\src\index.crates.io-1cd66030c949c28d\windows_i686_gnu-0.52.0\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic
-width=167 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C metadata=aa3f329de6df47e2 -C extra-filename=-aa3f329de6df47e2 --out-dir 'C:/M/mingw-w64-rust/src
/CLANG32/build/bootstrap\debug\build\windows_i686_gnu-aa3f329de6df47e2' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap
-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name unicode_ident --edition=2018 'C:\Users\Philippe\.cargo\registr
y\src\index.crates.io-1cd66030c949c28d\unicode-ident-1.0.12\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width
=167 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C metadata=6a199b5d1cc1ece5 -C extra-filename=-6a199b5d1cc1ece5 --out-dir 'C:/M/mingw-w64-rust/
src/CLANG32/build/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms
-Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build 'C:\Users\Philippe\.cargo\registry\src\inde
x.crates.io-1cd66030c949c28d\winapi-0.3.9\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-type bi
n --emit=dep-info,link -C embed-bitcode=no --cfg 'feature="consoleapi"' --cfg 'feature="errhandlingapi"' --cfg 'feature="fileapi"' --cfg 'feature="guiddef"' --cfg 'feat
ure="handleapi"' --cfg 'feature="ioapiset"' --cfg 'feature="minwindef"' --cfg 'feature="processenv"' --cfg 'feature="processthreadsapi"' --cfg 'feature="securitybaseapi
"' --cfg 'feature="shellapi"' --cfg 'feature="std"' --cfg 'feature="sysinfoapi"' --cfg 'feature="winbase"' --cfg 'feature="wincon"' --cfg 'feature="winerror"' --cfg 'fe
ature="winioctl"' --cfg 'feature="winnt"' -C metadata=ac76d0172874e204 -C extra-filename=-ac76d0172874e204 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\de
bug\build\winapi-ac76d0172874e204' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunu
sed_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name cfg_if --edition=2018 'C:\Users\Philippe\.cargo\registry\src\i
ndex.crates.io-1cd66030c949c28d\cfg-if-1.0.0\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-ty
pe lib --emit=dep-info,metadata,link -C embed-bitcode=no -C metadata=cbb67a30795eb835 -C extra-filename=-cbb67a30795eb835 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/bui
ld/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifeti
mes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name version_check 'C:\Users\Philippe\.cargo\registry\src\index.cra
tes.io-1cd66030c949c28d\version_check-0.9.4\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-typ
e lib --emit=dep-info,metadata,link -C embed-bitcode=no -C metadata=c7c9b4055b07f45e -C extra-filename=-c7c9b4055b07f45e --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/buil
d/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetim
es -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_main --edition=2018 'C:\Users\Philippe\.cargo\reg
istry\src\index.crates.io-1cd66030c949c28d\typenum-1.17.0\build/main.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-widt
h=167 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C metadata=471eda2561d3c145 -C extra-filename=-471eda2561d3c145 --out-dir 'C:/M/mingw-w64-rust/src/CLAN
G32/build/bootstrap\debug\build\typenum-471eda2561d3c145' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -
Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name memchr --edition=2021 'C:\Users\Philippe\.cargo\registry\src\i
ndex.crates.io-1cd66030c949c28d\memchr-2.7.1\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-ty
pe lib --emit=dep-info,metadata,link -C embed-bitcode=no --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=200c8864693695f1 -C extra-f
ilename=-200c8864693695f1 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bo
otstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build --edition=2018 'C:\Users\Philippe\.cargo\re
gistry\src\index.crates.io-1cd66030c949c28d\serde-1.0.195\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167
 --crate-type bin --emit=dep-info,link -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=b181b597c51ab414 -C extra-filename=-b181b597c51ab
414 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\build\serde-b181b597c51ab414' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/
bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name cc --edition=2018 'C:\Users\Philippe\.cargo\registry\src\index
.crates.io-1cd66030c949c28d\cc-1.0.73\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-type lib
--emit=dep-info,metadata,link -C embed-bitcode=no -C metadata=3eb128d958ea6a34 -C extra-filename=-3eb128d958ea6a34 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/boot
strap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dw
arnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build --edition=2021 'C:\Users\Philippe\.cargo\re
gistry\src\index.crates.io-1cd66030c949c28d\crossbeam-utils-0.8.18\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-
width=167 --crate-type bin --emit=dep-info,link -C embed-bitcode=no --cfg 'feature="std"' -C metadata=3acc544c852773c8 -C extra-filename=-3acc544c852773c8 --out-dir 'C:
/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\build\crossbeam-utils-3acc544c852773c8' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstr
ap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build 'C:\Users\Philippe\.cargo\registry\src\inde
x.crates.io-1cd66030c949c28d\libc-0.2.151\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-type bi
n --emit=dep-info,link -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=583242c032593e80 -C extra-filename=-583242c032593e80 --out-dir 'C
:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\build\libc-583242c032593e80' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\d
eps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name pkg_config 'C:\Users\Philippe\.cargo\registry\src\index.crates
.io-1cd66030c949c28d\pkg-config-0.3.28\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-type lib
 --emit=dep-info,metadata,link -C embed-bitcode=no -C metadata=3ca8dbd1a2a6c2d6 -C extra-filename=-3ca8dbd1a2a6c2d6 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/boo
tstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -D
warnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name regex_syntax --edition=2021 'C:\Users\Philippe\.cargo\registry
\src\index.crates.io-1cd66030c949c28d\regex-syntax-0.8.2\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=16
7 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --cfg 'feature="std"' -C metadata=f48d517662ab1012 -C extra-filename=-f48d517662ab1012 --out-dir 'C
:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow
-Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name anstyle --edition=2021 'C:\Users\Philippe\.cargo\registry\src\
index.crates.io-1cd66030c949c28d\anstyle-1.0.4\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-
type lib --emit=dep-info,metadata,link -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=9de60c98bd411b59 -C extra-filename=-9de60c98bd411
b59 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --
cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
   Compiling heck v0.4.1
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name heck --edition=2018 'C:\Users\Philippe\.cargo\registry\src\ind
ex.crates.io-1cd66030c949c28d\heck-0.4.1\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-type l
ib --emit=dep-info,metadata,link -C embed-bitcode=no --cfg 'feature="default"' -C metadata=d261238b4b5a0e4b -C extra-filename=-d261238b4b5a0e4b --out-dir 'C:/M/mingw-w6
4-rust/src/CLANG32/build/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_
idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
   Compiling clap_lex v0.6.0
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name clap_lex --edition=2021 'C:\Users\Philippe\.cargo\registry\src
\index.crates.io-1cd66030c949c28d\clap_lex-0.6.0\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crat
e-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C metadata=b37396cfd1a0f3b1 -C extra-filename=-b37396cfd1a0f3b1 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32
/build/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_li
fetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
   Compiling clap_builder v4.4.12
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name clap_builder --edition=2021 'C:\Users\Philippe\.cargo\registry
\src\index.crates.io-1cd66030c949c28d\clap_builder-4.4.12\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=1
67 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --cfg 'feature="error-context"' --cfg 'feature="help"' --cfg 'feature="std"' --cfg 'feature="usage
"' -C metadata=458a3ccbb906cfb9 -C extra-filename=-458a3ccbb906cfb9 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' -C linker=clang -L 'dependenc
y=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --extern 'anstyle=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps\libanstyle-9de60c98bd411b59.r
meta' --extern 'clap_lex=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps\libclap_lex-b37396cfd1a0f3b1.rmeta' --cap-lints allow -Wrust_2018_idioms -Wunused_li
fetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
   Compiling semver v1.0.21
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build --edition=2018 'C:\Users\Philippe\.cargo\re
gistry\src\index.crates.io-1cd66030c949c28d\semver-1.0.21\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167
 --crate-type bin --emit=dep-info,link -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=ebfb352012508e07 -C extra-filename=-ebfb352012508
e07 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\build\semver-ebfb352012508e07' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build
/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
error: linking with `clang` failed: exit code: 1
  |
  = note: "clang" "-fno-use-linker-plugin" "-Wl,--dynamicbase" "-Wl,--disable-auto-image-base" "-Wl,--large-address-aware" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\
i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\rsbegin.o" "C:\\msys64\\tmp\\rustcHqDpUJ\\symbols.o" "C:/M/mingw-w64-rust/src/CLANG32/build/bootstr
ap\\debug\\build\\winapi-i686-pc-windows-gnu-fc4712a389a91b4c\\build_script_build-fc4712a389a91b4c.build_script_build.574eb7372081009b-cgu.0.rcgu.o" "C:/M/mingw-w64-rus
t/src/CLANG32/build/bootstrap\\debug\\build\\winapi-i686-pc-windows-gnu-fc4712a389a91b4c\\build_script_build-fc4712a389a91b4c.4qdyv5qzvnzbi4a4.rcgu.o" "-L" "C:/M/mingw-
w64-rust/src/CLANG32/build/bootstrap\\debug\\deps" "-L" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib
" "-Wl,-Bstatic" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libstd-61edd68fedab197a.rlib" "C:\\M\
\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libpanic_unwind-a8caf3c2c86a2299.rlib" "C:\\M\\mingw-w64-rust
\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libobject-e4a3ac143fc85171.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build
\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libmemchr-4a6c1366628bf690.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu
\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libaddr2line-11616d53bf36b427.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rus
tlib\\i686-pc-windows-gnu\\lib\\libgimli-9d232a32a81a257c.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-
gnu\\lib\\librustc_demangle-53578b8b398c4889.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\lib
std_detect-b6134ac458d24d93.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libhashbrown-7c07d8a
0d8f49bfd.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\librustc_std_workspace_alloc-9a85460e4
da4c847.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libminiz_oxide-16b28f7c4fc1caf7.rlib" "C
:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libadler-35690024bcc3846b.rlib" "C:\\M\\mingw-w64-rust\\
src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libunwind-60df09bfb9e011f8.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\
i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libcfg_if-c6a69194907dbdac.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\
stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\liblibc-69a57e92260b3214.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i
686-pc-windows-gnu\\lib\\liballoc-4aee5b77527e80db.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\li
b\\librustc_std_workspace_core-ebf80429459d0158.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\
libcore-a7834f0c1fa91c64.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libcompiler_builtins-3a
d82a9707b3fe3a.rlib" "-Wl,-Bdynamic" "-lkernel32" "-ladvapi32" "-lbcrypt" "-lkernel32" "-lntdll" "-luserenv" "-lws2_32" "-lkernel32" "-lws2_32" "-lkernel32" "-lntdll" "
-lgcc_eh" "-l:libpthread.a" "-lmsvcrt" "-lmingwex" "-lmingw32" "-lgcc" "-lmsvcrt" "-luser32" "-lkernel32" "-Wl,--nxcompat" "-L" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\bu
ild\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib" "-o" "C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\\debug\\build\\winapi-i686-pc-windows-gn
u-fc4712a389a91b4c\\build_script_build-fc4712a389a91b4c.exe" "-Wl,--gc-sections" "-no-pie" "-nodefaultlibs" "-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack"
"C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\rsend.o"
  = note: clang: warning: argument unused during compilation: '-no-pie' [-Wunused-command-line-argument]
          ld.lld: error: undefined symbol: ___register_frame_info
          >>> referenced by C:\M\mingw-w64-rust\src\CLANG32\build\i686-pc-windows-gnu\stage0\lib\rustlib\i686-pc-windows-gnu\lib\rsbegin.o:(rsbegin::eh_frames::init::h2
357c9895245ac8f)

          ld.lld: error: undefined symbol: ___deregister_frame_info
          >>> referenced by C:\M\mingw-w64-rust\src\CLANG32\build\i686-pc-windows-gnu\stage0\lib\rustlib\i686-pc-windows-gnu\lib\rsbegin.o:(rsbegin::eh_frames::uninit::
he7caf1a310466a98)
          clang: error: linker command failed with exit code 1 (use -v to see invocation)


error: linking with `clang` failed: exit code: 1

My understanding is that the missing symbols (___register_frame_info and ___deregister_frame_info) are supposed to be provided by glibc. Is that correct ? And if yes, where have they gone ?

filnet avatar Mar 24 '24 17:03 filnet

@MehdiChinoune it will not since it's 64-bit target and both the issues (rt{begin,end} and chsktk) affect only 32-bit platforms and since we have no 32-bit ARM target it affects only i686.

mati865 avatar Mar 24 '24 19:03 mati865

Here is a verbose build up to the first linking error:

Building bootstrap
running: C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/cargo.exe build --manifest-path C:/M/mingw-w64-rust/src/rustc-1.77.0-src/src/bootstrap/Car
go.toml --verbose
   Compiling winapi-i686-pc-windows-gnu v0.4.0
   Compiling windows_i686_gnu v0.52.0
   Compiling proc-macro2 v1.0.76
   Compiling winapi v0.3.9
   Compiling unicode-ident v1.0.12
   Compiling cfg-if v1.0.0
   Compiling version_check v0.9.4
   Compiling typenum v1.17.0
   Compiling memchr v2.7.1
   Compiling serde v1.0.195
   Compiling cc v1.0.73
   Compiling crossbeam-utils v0.8.18
   Compiling libc v0.2.151
   Compiling pkg-config v0.3.28
   Compiling anstyle v1.0.4
   Compiling regex-syntax v0.8.2
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build 'C:\Users\Philippe\.cargo\registry\src\inde
x.crates.io-1cd66030c949c28d\winapi-i686-pc-windows-gnu-0.4.0\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width
=167 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C metadata=fc4712a389a91b4c -C extra-filename=-fc4712a389a91b4c --out-dir 'C:/M/mingw-w64-rust/src/CLANG
32/build/bootstrap\debug\build\winapi-i686-pc-windows-gnu-fc4712a389a91b4c' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' -
-cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build --edition=2021 'C:\Users\Philippe\.cargo\re
gistry\src\index.crates.io-1cd66030c949c28d\proc-macro2-1.0.76\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-widt
h=167 --crate-type bin --emit=dep-info,link -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=791b2d1e1d688c5d -C extra-filename=-7
91b2d1e1d688c5d --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\build\proc-macro2-791b2d1e1d688c5d' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/
src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-
libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build --edition=2021 'C:\Users\Philippe\.cargo\re
gistry\src\index.crates.io-1cd66030c949c28d\windows_i686_gnu-0.52.0\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic
-width=167 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C metadata=aa3f329de6df47e2 -C extra-filename=-aa3f329de6df47e2 --out-dir 'C:/M/mingw-w64-rust/src
/CLANG32/build/bootstrap\debug\build\windows_i686_gnu-aa3f329de6df47e2' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap
-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name unicode_ident --edition=2018 'C:\Users\Philippe\.cargo\registr
y\src\index.crates.io-1cd66030c949c28d\unicode-ident-1.0.12\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width
=167 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C metadata=6a199b5d1cc1ece5 -C extra-filename=-6a199b5d1cc1ece5 --out-dir 'C:/M/mingw-w64-rust/
src/CLANG32/build/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms
-Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build 'C:\Users\Philippe\.cargo\registry\src\inde
x.crates.io-1cd66030c949c28d\winapi-0.3.9\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-type bi
n --emit=dep-info,link -C embed-bitcode=no --cfg 'feature="consoleapi"' --cfg 'feature="errhandlingapi"' --cfg 'feature="fileapi"' --cfg 'feature="guiddef"' --cfg 'feat
ure="handleapi"' --cfg 'feature="ioapiset"' --cfg 'feature="minwindef"' --cfg 'feature="processenv"' --cfg 'feature="processthreadsapi"' --cfg 'feature="securitybaseapi
"' --cfg 'feature="shellapi"' --cfg 'feature="std"' --cfg 'feature="sysinfoapi"' --cfg 'feature="winbase"' --cfg 'feature="wincon"' --cfg 'feature="winerror"' --cfg 'fe
ature="winioctl"' --cfg 'feature="winnt"' -C metadata=ac76d0172874e204 -C extra-filename=-ac76d0172874e204 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\de
bug\build\winapi-ac76d0172874e204' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunu
sed_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name cfg_if --edition=2018 'C:\Users\Philippe\.cargo\registry\src\i
ndex.crates.io-1cd66030c949c28d\cfg-if-1.0.0\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-ty
pe lib --emit=dep-info,metadata,link -C embed-bitcode=no -C metadata=cbb67a30795eb835 -C extra-filename=-cbb67a30795eb835 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/bui
ld/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifeti
mes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name version_check 'C:\Users\Philippe\.cargo\registry\src\index.cra
tes.io-1cd66030c949c28d\version_check-0.9.4\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-typ
e lib --emit=dep-info,metadata,link -C embed-bitcode=no -C metadata=c7c9b4055b07f45e -C extra-filename=-c7c9b4055b07f45e --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/buil
d/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetim
es -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_main --edition=2018 'C:\Users\Philippe\.cargo\reg
istry\src\index.crates.io-1cd66030c949c28d\typenum-1.17.0\build/main.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-widt
h=167 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C metadata=471eda2561d3c145 -C extra-filename=-471eda2561d3c145 --out-dir 'C:/M/mingw-w64-rust/src/CLAN
G32/build/bootstrap\debug\build\typenum-471eda2561d3c145' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -
Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name memchr --edition=2021 'C:\Users\Philippe\.cargo\registry\src\i
ndex.crates.io-1cd66030c949c28d\memchr-2.7.1\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-ty
pe lib --emit=dep-info,metadata,link -C embed-bitcode=no --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=200c8864693695f1 -C extra-f
ilename=-200c8864693695f1 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bo
otstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build --edition=2018 'C:\Users\Philippe\.cargo\re
gistry\src\index.crates.io-1cd66030c949c28d\serde-1.0.195\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167
 --crate-type bin --emit=dep-info,link -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=b181b597c51ab414 -C extra-filename=-b181b597c51ab
414 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\build\serde-b181b597c51ab414' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/
bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name cc --edition=2018 'C:\Users\Philippe\.cargo\registry\src\index
.crates.io-1cd66030c949c28d\cc-1.0.73\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-type lib
--emit=dep-info,metadata,link -C embed-bitcode=no -C metadata=3eb128d958ea6a34 -C extra-filename=-3eb128d958ea6a34 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/boot
strap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dw
arnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build --edition=2021 'C:\Users\Philippe\.cargo\re
gistry\src\index.crates.io-1cd66030c949c28d\crossbeam-utils-0.8.18\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-
width=167 --crate-type bin --emit=dep-info,link -C embed-bitcode=no --cfg 'feature="std"' -C metadata=3acc544c852773c8 -C extra-filename=-3acc544c852773c8 --out-dir 'C:
/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\build\crossbeam-utils-3acc544c852773c8' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstr
ap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build 'C:\Users\Philippe\.cargo\registry\src\inde
x.crates.io-1cd66030c949c28d\libc-0.2.151\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-type bi
n --emit=dep-info,link -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=583242c032593e80 -C extra-filename=-583242c032593e80 --out-dir 'C
:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\build\libc-583242c032593e80' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\d
eps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name pkg_config 'C:\Users\Philippe\.cargo\registry\src\index.crates
.io-1cd66030c949c28d\pkg-config-0.3.28\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-type lib
 --emit=dep-info,metadata,link -C embed-bitcode=no -C metadata=3ca8dbd1a2a6c2d6 -C extra-filename=-3ca8dbd1a2a6c2d6 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/boo
tstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -D
warnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name regex_syntax --edition=2021 'C:\Users\Philippe\.cargo\registry
\src\index.crates.io-1cd66030c949c28d\regex-syntax-0.8.2\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=16
7 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --cfg 'feature="std"' -C metadata=f48d517662ab1012 -C extra-filename=-f48d517662ab1012 --out-dir 'C
:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow
-Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name anstyle --edition=2021 'C:\Users\Philippe\.cargo\registry\src\
index.crates.io-1cd66030c949c28d\anstyle-1.0.4\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-
type lib --emit=dep-info,metadata,link -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=9de60c98bd411b59 -C extra-filename=-9de60c98bd411
b59 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --
cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
   Compiling heck v0.4.1
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name heck --edition=2018 'C:\Users\Philippe\.cargo\registry\src\ind
ex.crates.io-1cd66030c949c28d\heck-0.4.1\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crate-type l
ib --emit=dep-info,metadata,link -C embed-bitcode=no --cfg 'feature="default"' -C metadata=d261238b4b5a0e4b -C extra-filename=-d261238b4b5a0e4b --out-dir 'C:/M/mingw-w6
4-rust/src/CLANG32/build/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_
idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
   Compiling clap_lex v0.6.0
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name clap_lex --edition=2021 'C:\Users\Philippe\.cargo\registry\src
\index.crates.io-1cd66030c949c28d\clap_lex-0.6.0\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167 --crat
e-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C metadata=b37396cfd1a0f3b1 -C extra-filename=-b37396cfd1a0f3b1 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32
/build/bootstrap\debug\deps' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_li
fetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
   Compiling clap_builder v4.4.12
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name clap_builder --edition=2021 'C:\Users\Philippe\.cargo\registry
\src\index.crates.io-1cd66030c949c28d\clap_builder-4.4.12\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=1
67 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --cfg 'feature="error-context"' --cfg 'feature="help"' --cfg 'feature="std"' --cfg 'feature="usage
"' -C metadata=458a3ccbb906cfb9 -C extra-filename=-458a3ccbb906cfb9 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' -C linker=clang -L 'dependenc
y=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps' --extern 'anstyle=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps\libanstyle-9de60c98bd411b59.r
meta' --extern 'clap_lex=C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\deps\libclap_lex-b37396cfd1a0f3b1.rmeta' --cap-lints allow -Wrust_2018_idioms -Wunused_li
fetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
   Compiling semver v1.0.21
     Running `C:/M/mingw-w64-rust/src/CLANG32/build/i686-pc-windows-gnu/stage0/bin/rustc.exe --crate-name build_script_build --edition=2018 'C:\Users\Philippe\.cargo\re
gistry\src\index.crates.io-1cd66030c949c28d\semver-1.0.21\build.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=167
 --crate-type bin --emit=dep-info,link -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=ebfb352012508e07 -C extra-filename=-ebfb352012508
e07 --out-dir 'C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\debug\build\semver-ebfb352012508e07' -C linker=clang -L 'dependency=C:/M/mingw-w64-rust/src/CLANG32/build
/bootstrap\debug\deps' --cap-lints allow -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -C 'link-arg=-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack'`
error: linking with `clang` failed: exit code: 1
  |
  = note: "clang" "-fno-use-linker-plugin" "-Wl,--dynamicbase" "-Wl,--disable-auto-image-base" "-Wl,--large-address-aware" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\
i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\rsbegin.o" "C:\\msys64\\tmp\\rustcHqDpUJ\\symbols.o" "C:/M/mingw-w64-rust/src/CLANG32/build/bootstr
ap\\debug\\build\\winapi-i686-pc-windows-gnu-fc4712a389a91b4c\\build_script_build-fc4712a389a91b4c.build_script_build.574eb7372081009b-cgu.0.rcgu.o" "C:/M/mingw-w64-rus
t/src/CLANG32/build/bootstrap\\debug\\build\\winapi-i686-pc-windows-gnu-fc4712a389a91b4c\\build_script_build-fc4712a389a91b4c.4qdyv5qzvnzbi4a4.rcgu.o" "-L" "C:/M/mingw-
w64-rust/src/CLANG32/build/bootstrap\\debug\\deps" "-L" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib
" "-Wl,-Bstatic" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libstd-61edd68fedab197a.rlib" "C:\\M\
\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libpanic_unwind-a8caf3c2c86a2299.rlib" "C:\\M\\mingw-w64-rust
\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libobject-e4a3ac143fc85171.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build
\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libmemchr-4a6c1366628bf690.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu
\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libaddr2line-11616d53bf36b427.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rus
tlib\\i686-pc-windows-gnu\\lib\\libgimli-9d232a32a81a257c.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-
gnu\\lib\\librustc_demangle-53578b8b398c4889.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\lib
std_detect-b6134ac458d24d93.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libhashbrown-7c07d8a
0d8f49bfd.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\librustc_std_workspace_alloc-9a85460e4
da4c847.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libminiz_oxide-16b28f7c4fc1caf7.rlib" "C
:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libadler-35690024bcc3846b.rlib" "C:\\M\\mingw-w64-rust\\
src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libunwind-60df09bfb9e011f8.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\
i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libcfg_if-c6a69194907dbdac.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\
stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\liblibc-69a57e92260b3214.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i
686-pc-windows-gnu\\lib\\liballoc-4aee5b77527e80db.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\li
b\\librustc_std_workspace_core-ebf80429459d0158.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\
libcore-a7834f0c1fa91c64.rlib" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libcompiler_builtins-3a
d82a9707b3fe3a.rlib" "-Wl,-Bdynamic" "-lkernel32" "-ladvapi32" "-lbcrypt" "-lkernel32" "-lntdll" "-luserenv" "-lws2_32" "-lkernel32" "-lws2_32" "-lkernel32" "-lntdll" "
-lgcc_eh" "-l:libpthread.a" "-lmsvcrt" "-lmingwex" "-lmingw32" "-lgcc" "-lmsvcrt" "-luser32" "-lkernel32" "-Wl,--nxcompat" "-L" "C:\\M\\mingw-w64-rust\\src\\CLANG32\\bu
ild\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib" "-o" "C:/M/mingw-w64-rust/src/CLANG32/build/bootstrap\\debug\\build\\winapi-i686-pc-windows-gn
u-fc4712a389a91b4c\\build_script_build-fc4712a389a91b4c.exe" "-Wl,--gc-sections" "-no-pie" "-nodefaultlibs" "-LC:/M/mingw-w64-rust/src/CLANG32/build/missing-libs-hack"
"C:\\M\\mingw-w64-rust\\src\\CLANG32\\build\\i686-pc-windows-gnu\\stage0\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\rsend.o"
  = note: clang: warning: argument unused during compilation: '-no-pie' [-Wunused-command-line-argument]
          ld.lld: error: undefined symbol: ___register_frame_info
          >>> referenced by C:\M\mingw-w64-rust\src\CLANG32\build\i686-pc-windows-gnu\stage0\lib\rustlib\i686-pc-windows-gnu\lib\rsbegin.o:(rsbegin::eh_frames::init::h2
357c9895245ac8f)

          ld.lld: error: undefined symbol: ___deregister_frame_info
          >>> referenced by C:\M\mingw-w64-rust\src\CLANG32\build\i686-pc-windows-gnu\stage0\lib\rustlib\i686-pc-windows-gnu\lib\rsbegin.o:(rsbegin::eh_frames::uninit::
he7caf1a310466a98)
          clang: error: linker command failed with exit code 1 (use -v to see invocation)


error: linking with `clang` failed: exit code: 1

My understanding is that the missing symbols (___register_frame_info and ___deregister_frame_info) are supposed to be provided by glibc. Is that correct ? And if yes, where have they gone ?

They are provided by Rust: https://github.com/rust-lang/rust/tree/master/library/rtstartup

I had missed the fact it fails during build of bootstrap which complicates things as it means my hack to the bootstrap no longer works for some reason.

mati865 avatar Mar 24 '24 20:03 mati865

How are things (the rust ecosystem I guess) with respect to using the -gnullvm targets instead of patching the -gnu ones (#17466)? Would that avoid this issue?

jeremyd2019 avatar Mar 24 '24 20:03 jeremyd2019

I'm got the same error trying to build rust 1.76.0 on clang32, when testing to build -gnullvm target. Perhaps it is due to too-new llvm?

Oops, that was the chkstk one, there was a PR for that referenced above, let me try that patch.

jeremyd2019 avatar Mar 24 '24 21:03 jeremyd2019

My understanding is that the missing symbols (___register_frame_info and ___deregister_frame_info) are supposed to be provided by glibc. Is that correct ? And if yes, where have they gone ?

They are provided by Rust: https://github.com/rust-lang/rust/tree/master/library/rtstartup

Are you sure that they are provided by Rust ? Seems that they are referenced but not provided: https://github.com/rust-lang/rust/blob/master/library/rtstartup/rsbegin.rs#L76

EDIT: a search for register_frame_info gives https://github.com/search?q=repo%3Arust-lang%2Frust%20register_frame_info&type=code

filnet avatar Mar 24 '24 21:03 filnet

OK, register/deregister error building rust on CLANG32 from master... So it's a regression due to what's in the repo, not due to this PR. Back to thinking it is due to llvm update somehow

jeremyd2019 avatar Mar 24 '24 21:03 jeremyd2019

I'm got the same error trying to build rust 1.76.0 on clang32, when testing to build -gnullvm target. Perhaps it is due to too-new llvm?

Yeah, chkstk is due to too new LLVM.

Are you sure that they are provided by Rust ? Seems that they are referenced but not provided: rust-lang/rust@master/library/rtstartup/rsbegin.rs#L76

Ah, sorry I have confused the symbols. Those are (or used to be) provided by libgcc/libunwind.

mati865 avatar Mar 24 '24 21:03 mati865

Looks like libunwind provides ___register_frame and ___deregister_frame but not _info. They are also not present in 18.1.1-2, but are present in 17.0.6-1

jeremyd2019 avatar Mar 24 '24 21:03 jeremyd2019

Looks like libunwind provides ___register_frame and ___deregister_frame but not _info. They are also not present in 18.1.1-2, but are present in 17.0.6-1

Do we know why and when they were removed ? And what were they replaced with (if anything) ?

filnet avatar Mar 24 '24 21:03 filnet

https://github.com/llvm/llvm-project/commit/5eb44df1b64dbd1a86b099128092a7fd2001c0ba (the commit message says default this to on, but it appears to be defaulted to off)

jeremyd2019 avatar Mar 24 '24 21:03 jeremyd2019

So if we temporarily enable LIBUNWIND_ENABLE_FRAME_APIS, backport https://github.com/rust-lang/compiler-builtins/pull/575 and change all Clang subsystems to gnullvm to get rid of that bootstrap hack. Then we can drop LIBUNWIND_ENABLE_FRAME_APIS.

mati865 avatar Mar 24 '24 21:03 mati865

Running into issues trying to backport rust-lang/compiler-builtins#575 on CLANG32, due to the necessity to not vendor because embed-manifest dep was added. I don't know enough about rust/cargo magic to make that work. I vendored rust-installer and moved embed-manifest into rustc's vendor dir, but now it says Cargo.lock needed to be updated :shrug:

jeremyd2019 avatar Mar 24 '24 22:03 jeremyd2019

This package does stuff with manifest : https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-rust/0011-disable-uac-for-installer.patch

EDIT: this patch is applied only for CLANG32.

filnet avatar Mar 24 '24 22:03 filnet

This might be fragile but should work without reenabling vendored deps:

❯ git diff
diff --git a/Cargo.lock b/Cargo.lock
index 3110f32ade9..c2380770c02 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -741,8 +741,7 @@ checksum = "55b672471b4e9f9e95499ea597ff64941a309b2cdbffcc46f2cc5e2d971fd335"
 [[package]]
 name = "compiler_builtins"
 version = "0.1.108"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d68bc55329711cd719c2687bb147bc06211b0521f97ef398280108ccb23227e9"
+source = "git+https://github.com/kleisauke/compiler-builtins?branch=sync-chkstk#f20144145358bd4149c78617332062f8dd7f864d"
 dependencies = [
  "cc",
  "rustc-std-workspace-core",
diff --git a/Cargo.toml b/Cargo.toml
index 5dd315ef2f7..f752267df82 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -120,6 +120,7 @@ strip = true
 rustc-std-workspace-core = { path = 'library/rustc-std-workspace-core' }
 rustc-std-workspace-alloc = { path = 'library/rustc-std-workspace-alloc' }
 rustc-std-workspace-std = { path = 'library/rustc-std-workspace-std' }
+compiler_builtins = { git = "https://github.com/kleisauke/compiler-builtins", branch = "sync-chkstk"}

 [patch."https://github.com/rust-lang/rust-clippy"]
 clippy_lints = { path = "src/tools/clippy/clippy_lints" }

mati865 avatar Mar 24 '24 22:03 mati865

That's got things going further. Will probably need to do something different if we need to backport that here for real.

jeremyd2019 avatar Mar 24 '24 22:03 jeremyd2019

This is what I get now (oh, in case I didn't make it clear - I'm still trying to build 1.76.0, not this PR):

   Compiling compiler_builtins v0.1.108 (https://github.com/kleisauke/compiler-builtins?branch=sync-chkstk#f2014414)
thread 'rustc' panicked at compiler\rustc_metadata\src\creader.rs:186:31:
index out of bounds: the len is 1 but the index is 4
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic_bounds_check
   3: rustc_metadata::rmeta::decoder::cstore_impl::provide_extern::explicit_predicates_of
      [... omitted 2 frames ...]
   4: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, rustc_middle::query::erase::Erased<[u8; 16]>>>
   5: rustc_hir_analysis::collect::predicates_defined_on
      [... omitted 2 frames ...]
   6: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, rustc_middle::query::erase::Erased<[u8; 16]>>>
   7: rustc_hir_analysis::collect::predicates_of::predicates_of
      [... omitted 2 frames ...]
   8: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, rustc_middle::query::erase::Erased<[u8; 16]>>>
   9: rustc_ty_utils::ty::param_env
      [... omitted 2 frames ...]
  10: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, rustc_middle::query::erase::Erased<[u8; 4]>>>
  11: <core::iter::adapters::map::Map<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::slice::iter::Iter<rustc_middle::ty::VariantDef>>, <rustc_index::slice::IndexSlice<rustc_target::abi::VariantIdx, rustc_middle::ty::VariantDef>>::iter_enumerated::{closure#0}>, <rustc_middle::ty::adt::AdtDef>::discriminants::{closure#0}> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::adapters::filter_map::filter_map_fold<(rustc_target::abi::VariantIdx, rustc_middle::ty::util::Discr), (u128, rustc_middle::mir::BasicBlock), (), <rustc_mir_build::build::Builder>::perform_test::{closure#0}, <(_, _) as core::iter::traits::collect::Extend<(_, _)>>::extend::extend<u128, rustc_middle::mir::BasicBlock, smallvec::SmallVec<[u128; 1]>, smallvec::SmallVec<[rustc_middle::mir::BasicBlock; 2]>>::{closure#0}>::{closure#0}>
  12: <rustc_middle::mir::syntax::SwitchTargets>::new::<core::iter::adapters::filter_map::FilterMap<core::iter::adapters::map::Map<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::slice::iter::Iter<rustc_middle::ty::VariantDef>>, <rustc_index::slice::IndexSlice<rustc_target::abi::VariantIdx, rustc_middle::ty::VariantDef>>::iter_enumerated::{closure#0}>, <rustc_middle::ty::adt::AdtDef>::discriminants::{closure#0}>, <rustc_mir_build::build::Builder>::perform_test::{closure#0}>>
  13: <rustc_mir_build::build::Builder>::match_simplified_candidates
  14: <rustc_mir_build::build::Builder>::match_candidates
  15: <rustc_mir_build::build::Builder>::lower_match_tree
  16: <rustc_mir_build::build::Builder>::expr_into_dest
  17: <rustc_mir_build::build::Builder>::in_scope::<<rustc_mir_build::build::Builder>::expr_into_dest::{closure#0}::{closure#0}, ()>
  18: <rustc_mir_build::build::Builder>::expr_into_dest::{closure#0}
  19: <rustc_mir_build::build::Builder>::expr_into_dest
  20: rustc_mir_build::build::mir_build::{closure#0}
  21: rustc_mir_build::build::mir_built
      [... omitted 2 frames ...]
  22: rustc_mir_transform::check_unsafety::unsafety_check_result
      [... omitted 2 frames ...]
  23: <rustc_mir_transform::check_unsafety::UnsafetyChecker as rustc_middle::mir::visit::Visitor>::visit_rvalue
  24: <rustc_mir_transform::check_unsafety::UnsafetyChecker as rustc_middle::mir::visit::Visitor>::visit_statement
  25: rustc_mir_transform::check_unsafety::unsafety_check_result
      [... omitted 2 frames ...]
  26: rustc_mir_transform::mir_const
      [... omitted 2 frames ...]
  27: rustc_mir_transform::mir_promoted
      [... omitted 2 frames ...]
  28: rustc_borrowck::mir_borrowck
      [... omitted 2 frames ...]
  29: rustc_hir_analysis::collect::type_of::type_of_opaque
      [... omitted 2 frames ...]
  30: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, rustc_middle::query::erase::Erased<[u8; 4]>>>
  31: rustc_hir_analysis::collect::type_of::type_of
      [... omitted 2 frames ...]
  32: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, rustc_middle::query::erase::Erased<[u8; 4]>>>
  33: <rustc_privacy::ReachEverythingInTheInterfaceVisitor>::ty
  34: <rustc_privacy::EmbargoVisitor as rustc_hir::intravisit::Visitor>::visit_item
  35: <rustc_middle::hir::map::Map>::visit_all_item_likes_in_crate::<rustc_privacy::EmbargoVisitor>
  36: rustc_privacy::effective_visibilities
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: please attach the file at `C:\msys64\usr\src\MINGW-packages\mingw-w64-rust\src\rustc-1.76.0-src\rustc-ice-2024-03-24T22_45_13-4940.txt` to your bug report

note: compiler flags: --crate-type lib -C opt-level=3 -C embed-bitcode=no -Z unstable-options -C linker=clang -C symbol-mangling-version=legacy -Z unstable-options -Z unstable-options -Z macro-backtrace -Z unstable-options -C split-debuginfo=packed -C prefer-dynamic -Z inline-mir -C embed-bitcode=yes -Z crate-attr=doc(html_root_url="https://doc.rust-lang.org/1.76.0/") -Z binary-dep-depinfo -Z force-unstable-if-unmarked

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
thread panicked while processing panic. aborting.
error: could not compile `core` (lib)

Caused by:
  process didn't exit successfully: `C:\msys64\usr\src\MINGW-packages\mingw-w64-rust\src\CLANG32\build\bootstrap\debug\rustc 'C:\msys64\usr\src\MINGW-packages\mingw-w64-rust\src\CLANG32\build\bootstrap\debug\rustc' --crate-name core --edition=2021 'library\core\src\lib.rs' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=79 --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -Zunstable-options --check-cfg 'cfg(feature, values("debug_refcell", "panic_immediate_abort"))' -C metadata=67763e60ae0aba87 -C extra-filename=-67763e60ae0aba87 --out-dir 'C:\msys64\usr\src\MINGW-packages\mingw-w64-rust\src\CLANG32\build\i686-pc-windows-gnu\stage2-std\i686-pc-windows-gnullvm\release\deps' --target i686-pc-windows-gnullvm -C linker=clang -L 'dependency=C:\msys64\usr\src\MINGW-packages\mingw-w64-rust\src\CLANG32\build\i686-pc-windows-gnu\stage2-std\i686-pc-windows-gnullvm\release\deps' -L 'dependency=C:\msys64\usr\src\MINGW-packages\mingw-w64-rust\src\CLANG32\build\i686-pc-windows-gnu\stage2-std\release\deps' -Csymbol-mangling-version=legacy -Zunstable-options '--check-cfg=cfg(feature,values(any()))' -Zunstable-options '--check-cfg=cfg(bootstrap,values())' '--check-cfg=cfg(stdarch_intel_sde,values())' '--check-cfg=cfg(no_fp_fmt_parse,values())' '--check-cfg=cfg(no_global_oom_handling,values())' '--check-cfg=cfg(no_rc,values())' '--check-cfg=cfg(no_sync,values())' '--check-cfg=cfg(backtrace_in_libstd,values())' '--check-cfg=cfg(target_env,values("libnx"))' '--check-cfg=cfg(target_arch,values("spirv","nvptx","xtensa"))' -Zmacro-backtrace -Zunstable-options -Csplit-debuginfo=packed -Cprefer-dynamic -Zinline-mir -Cembed-bitcode=yes '-Zcrate-attr=doc(html_root_url="https://doc.rust-lang.org/1.76.0/")' -Z binary-dep-depinfo` (exit code: 0xc0000409, STATUS_STACK_BUFFER_OVERRUN)

jeremyd2019 avatar Mar 24 '24 22:03 jeremyd2019

Looks like a compiler bug or a miscompilation, either way it's bad.

mati865 avatar Mar 24 '24 23:03 mati865

Which package(s) need to be rebuilt with LIBUNWIND_ENABLE_FRAME_APIS ?

filnet avatar Mar 24 '24 23:03 filnet

There is an issue about LIBUNWIND_ENABLE_FRAME_APIS not defaulting to ON : https://github.com/llvm/llvm-project/issues/83080. It is intentional, the commit log is wrong.

filnet avatar Mar 25 '24 01:03 filnet

Which package(s) need to be rebuilt with LIBUNWIND_ENABLE_FRAME_APIS ?

According to https://packages.msys2.org/package/mingw-w64-clang-i686-libunwind?repo=clang32, mingw-w64-libc++ is the base package.

jeremyd2019 avatar Mar 25 '24 02:03 jeremyd2019