Skip to content

tests: mir-opt test suite with --bless doesn't work on windows-gnu #119644

Closed
@petrochenkov

Description

@petrochenkov

Even if x86_64-pc-windows-gnu is the only build target, rustbuild still attempts to cross-compile thing for i686-pc-windows-gnu to bless all revisions of mir-opt tests, but the cross-compilation isn't setup correctly and the attempt fails.

By default I see output like this

Building stage1 library artifacts (x86_64-pc-windows-gnu -> i686-pc-windows-gnu)

...

  = note: ld.lld: error: C:\\msys64\\home\\we\\rust\\build\\x86_64-pc-windows-gnu\\stage1\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\rsbegin.o: machine type x86 conflicts with x64
          ld.lld: error: C:\\msys64\\tmp\\rustcCUublf\\symbols.o: machine type x86 conflicts with x64
          ld.lld: error: C:\\msys64\\home\\we\\rust\\build\\x86_64-pc-windows-gnu\\stage1-std\\i686-pc-windows-gnu\\release\\deps\\std-e43f59e301d8d8f6.std.6f9fe1c679e003ca-cgu.00.rcgu.o: machine type x86 conflicts with x64
          ld.lld: error: C:\\msys64\\home\\we\\rust\\build\\x86_64-pc-windows-gnu\\stage1-std\\i686-pc-windows-gnu\\release\\deps\\std-e43f59e301d8d8f6.std.6f9fe1c679e003ca-cgu.01.rcgu.o: machine type x86 conflicts with x64
          ld.lld: error: C:\\msys64\\home\\we\\rust\\build\\x86_64-pc-windows-gnu\\stage1-std\\i686-pc-windows-gnu\\release\\deps\\std-e43f59e301d8d8f6.std.6f9fe1c679e003ca-cgu.02.rcgu.o: machine type x86 conflicts with x64
          ld.lld: error: C:\\msys64\\home\\we\\rust\\build\\x86_64-pc-windows-gnu\\stage1-std\\i686-pc-windows-gnu\\release\\deps\\std-e43f59e301d8d8f6.std.6f9fe1c679e003ca-cgu.03.rcgu.o: machine type x86 conflicts with x64

If I try to remove windows-gnu targets from MIR_OPT_BLESS_TARGET_MAPPING, then I start seeing output like this

Building stage1 library artifacts (x86_64-pc-windows-gnu -> x86_64-pc-windows-gnu-synthetic-miropt-abort(C:\msys64\home\we\rust\build\synthetic-target-specs\x86_64-pc-windows-gnu-synthetic-miropt-abort.json))

...

  = note: ld.lld: error: could not open 'rsbegin.o': No such file or directory
          ld.lld: error: could not open 'rsend.o': No such file or directory

This was apparently caused by #112418.
cc @pietroalbini

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-testsuiteArea: The testsuite used to check the correctness of rustcO-windows-gnuToolchain: GNU, Operating system: WindowsT-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions