Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 10 pull requests #107134

Closed
wants to merge 29 commits into from

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Voultapher and others added 29 commits November 20, 2022 20:35
This moves the stable sort implementation to the core::slice::sort module. By
virtue of being in core it can't access `Vec`. The two `Vec` used by merge sort,
`buf` and `runs`, are modelled as custom types that implement the very limited
required `Vec` interface with the help of provided allocation and free
functions. This is done to allow future re-use of functions and logic between
stable and unstable sort. Such as `insert_head`.
There were several unsafe blocks in the existing implementation that
were not documented with a SAFETY comment.
Both GCC and Clang write by default a `.comment` section with compiler
information:

```txt
$ gcc -c -xc /dev/null && readelf -p '.comment' null.o

String dump of section '.comment':
  [     1]  GCC: (GNU) 11.2.0

$ clang -c -xc /dev/null && readelf -p '.comment' null.o

String dump of section '.comment':
  [     1]  clang version 14.0.1 (https://github.com/llvm/llvm-project.git c62053979489ccb002efe411c3af059addcb5d7d)
```

They also implement the `-Qn` flag to avoid doing so:

```txt
$ gcc -Qn -c -xc /dev/null && readelf -p '.comment' null.o
readelf: Warning: Section '.comment' was not dumped because it does not exist!

$ clang -Qn -c -xc /dev/null && readelf -p '.comment' null.o
readelf: Warning: Section '.comment' was not dumped because it does not exist!
```

So far, `rustc` only does it for WebAssembly targets and only
when debug info is enabled:

```txt
$ echo 'fn main(){}' | rustc --target=wasm32-unknown-unknown --emit=llvm-ir -Cdebuginfo=2 - && grep llvm.ident rust_out.ll
!llvm.ident = !{!27}
```

In the RFC part of this PR it was decided to always add
the information, which gets us closer to other popular compilers.
An opt-out flag like GCC and Clang may be added later on if deemed
necessary.

Implementation-wise, this covers both `ModuleLlvm::new()` and
`ModuleLlvm::new_metadata()` cases by moving the addition to
`context::create_module` and adds a few test cases.

ThinLTO also sees the `llvm.ident` named metadata duplicated (in
temporary outputs), so this deduplicates it like it is done for
`wasm.custom_sections`. The tests also check this duplication does
not take place.

Signed-off-by: Miguel Ojeda <[email protected]>
Since the current sidebar item is already a link, it doesn't
do anything.
paramters -> parameters
This uses less code to lay them out the same way.
[RFC] Support `.comment` section like GCC/Clang (`!llvm.ident`)

Both GCC and Clang write by default a `.comment` section with compiler information:

```txt
$ gcc -c -xc /dev/null && readelf -p '.comment' null.o

String dump of section '.comment':
  [     1]  GCC: (GNU) 11.2.0

$ clang -c -xc /dev/null && readelf -p '.comment' null.o

String dump of section '.comment':
  [     1]  clang version 14.0.1 (https://github.com/llvm/llvm-project.git c62053979489ccb002efe411c3af059addcb5d7d)
```

They also implement the `-Qn` flag to avoid doing so:

```txt
$ gcc -Qn -c -xc /dev/null && readelf -p '.comment' null.o
readelf: Warning: Section '.comment' was not dumped because it does not exist!

$ clang -Qn -c -xc /dev/null && readelf -p '.comment' null.o
readelf: Warning: Section '.comment' was not dumped because it does not exist!
```

So far, `rustc` only does it for WebAssembly targets and only when debug info is enabled:

```txt
$ echo 'fn main(){}' | rustc --target=wasm32-unknown-unknown --emit=llvm-ir -Cdebuginfo=2 - && grep llvm.ident rust_out.ll
!llvm.ident = !{!27}
```

The RFC part of this PR is about which behavior should `rustc` follow:
  - Always add it.
  - Add it by default, i.e. have an opt-out flag (GCC, Clang).
  - Have an opt-in flag.
  - Never add it (current).

There is also the question of whether debug info being enabled matters for that decision, given the current behavior of WebAssembly targets.

For instance, adding it by default gets us closer to other popular compilers, but that may surprise some users with an information leak. The most conservative option is to only do so opt-in, even if debug info is enabled (some users may be stripping debug info and not expecting something else to be leaked elsewhere).

Implementation-wise, this covers both `ModuleLlvm::new()` and `ModuleLlvm::new_metadata()` cases by moving the addition to `context::create_module` and adds a few test cases.

ThinLTO also sees the `llvm.ident` named metadata duplicated (in temporary outputs), so this deduplicates it like it is done for `wasm.custom_sections`. The tests also check this duplication does not take place.
…homcc

Unify stable and unstable sort implementations in same core module

This moves the stable sort implementation to the core::slice::sort module. By virtue of being in core it can't access `Vec`. The two `Vec` used by merge sort, `buf` and `runs`, are modelled as custom types that implement the very limited required `Vec` interface with the help of provided allocation and free functions. This is done to allow future re-use of functions and logic between stable and unstable sort. Such as `insert_head`.

This is in preparation of rust-lang#100856 and rust-lang#104116. It only moves code, it *doesn't* change any of the sort related logic. This unlocks the ability to share `insert_head`, `insert_tail`, `swap_if_less` `merge` and more.

Tagging ```@Mark-Simulacrum``` I hope this allows progress on rust-lang#100856, by moving `merge_sort` here I hope future changes will be easier to review.
…didates-3, r=lcnr

Implement some more new solver candidates and fix some bugs

First, fix some bugs:

1. `IndexVec::drain_enumerated(a..b)` does not give us an iterator of index keys + items enumerated from `a..b`, but from `0..(b-a)`... That caused a bug. See first commit for the fix.
2. Implement the `_: Trait` ambiguity hack. I put it in assemble, let me know if it should live elsewhere. This is important, since we otherwise consider `_: Sized` to have no solutions, and nothing passes!
3. Swap `Ambiguity` and `Unimplemented` cases for the new solver. Sorry for accidentally swapping them 😄
4. Check GATs' own predicates during projection confirmation.

Then implement a few builtin traits:

5. Implement `PointerSized`. Pretty independent.
6. Implement `Fn` family of traits for fnptr, fndef, and closures. Closures are currently broken because `FulfillCtxt::relationships` is intentionally left unimplemented. See comment in the test.

r? ``@lcnr``
…i-obk

Custom MIR: Support binary and unary operations

Lower binary and unary operations directly to corresponding unchecked MIR
operations. Ultimately this might not be syntax we want, but it allows for
experimentation in the meantime.

r? ``@oli-obk`` ``@JakobDegen``
…t, r=GuillaumeGomez

rustdoc: remove redundant CSS selector `.sidebar .current`

Since the current sidebar item is already a link, it doesn't do anything.
…t-parameters, r=petrochenkov

Fix missing arguments issues and copy-paste bug for fluent

Fixes rust-lang#107090
Fix typo in opaque_types.rs

paramters -> parameters
…n, r=m-ou-se

Add note about absolute paths to Path::join

The note already exists on `PathBuf::push`, but I think it is good to have it on `Path::join` as well since it can cause issues if you are not careful with your input.
… r=albertlarsan68

fix check macro expansion

If the only argument to `check!` is the module name I get this error:

```
error: expected expression, found `,`
   --> src/tools/tidy/src/main.rs:63:42
    |
57  | /         macro_rules! check {
58  | |             ($p:ident $(, $args:expr)* ) => {
59  | |                 drain_handles(&mut handles);
60  | |
...   |
63  | |                     $p::check($($args),* , &mut flag);
    | |                                          ^ expected expression
...   |
69  | |             }
70  | |         }
    | |_________- in this expansion of `check!`
...
117 |           check!(hey);
    |           ----------- in this macro invocation
```

This change makes it so commas are added only when there are `args`.

r? ``@albertlarsan68``
…display-inline-flex, r=GuillaumeGomez

rustdoc: use CSS inline layout for radio line instead of flexbox

This uses less code to lay them out the same way. Already tested here:

https://github.com/rust-lang/rust/blob/5ce39f42bd2c8bca9c570f0560ebe1fce4eddb14/tests/rustdoc-gui/settings.goml#L123
@rustbot rustbot added the A-testsuite Area: The testsuite used to check the correctness of rustc label Jan 20, 2023
@rustbot rustbot added A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Jan 20, 2023
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=10

@bors
Copy link
Contributor

bors commented Jan 20, 2023

📌 Commit 4a914c6 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 20, 2023
@bors
Copy link
Contributor

bors commented Jan 21, 2023

⌛ Testing commit 4a914c6 with merge e211dce6b0d76c6a449ddb9d34dabcc5cfbcbb3e...

@bors
Copy link
Contributor

bors commented Jan 21, 2023

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jan 21, 2023
@rust-log-analyzer
Copy link
Collaborator

The job dist-i586-gnu-i586-i686-musl failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
---- [run-make] tests/run-make/comment-section stdout ----

error: make failed
status: exit status: 2
command: cd "/checkout/tests/run-make/comment-section" && AR="i586-unknown-linux-gnu-ar" CC="i586-unknown-linux-gnu-gcc -ffunction-sections -fdata-sections -fPIC -m32 -march=pentium -Wa,-mrelax-relocations=no" CXX="c++ -ffunction-sections -fdata-sections -fPIC -m32 -march=pentium" HOST_RPATH_DIR="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" LD_LIB_PATH_ENVVAR="LD_LIBRARY_PATH" LLVM_BIN_DIR="/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin" LLVM_COMPONENTS="aarch64 aarch64asmparser aarch64codegen aarch64desc aarch64disassembler aarch64info aarch64utils aggressiveinstcombine all all-targets analysis arm armasmparser armcodegen armdesc armdisassembler arminfo armutils asmparser asmprinter avr avrasmparser avrcodegen avrdesc avrdisassembler avrinfo binaryformat bitreader bitstreamreader bitwriter bpf bpfasmparser bpfcodegen bpfdesc bpfdisassembler bpfinfo cfguard codegen core coroutines coverage debuginfocodeview debuginfodwarf debuginfogsym debuginfomsf debuginfopdb demangle dlltooldriver dwarflinker dwp engine executionengine extensions filecheck frontendopenacc frontendopenmp fuzzercli fuzzmutate globalisel hexagon hexagonasmparser hexagoncodegen hexagondesc hexagondisassembler hexagoninfo instcombine instrumentation interfacestub interpreter ipo irreader jitlink libdriver lineeditor linker lto m68k m68kasmparser m68kcodegen m68kdesc m68kdisassembler m68kinfo mc mca mcdisassembler mcjit mcparser mips mipsasmparser mipscodegen mipsdesc mipsdisassembler mipsinfo mirparser msp430 msp430asmparser msp430codegen msp430desc msp430disassembler msp430info native nativecodegen nvptx nvptxcodegen nvptxdesc nvptxinfo objcarcopts objcopy object objectyaml option orcjit orcshared orctargetprocess passes powerpc powerpcasmparser powerpccodegen powerpcdesc powerpcdisassembler powerpcinfo profiledata remarks riscv riscvasmparser riscvcodegen riscvdesc riscvdisassembler riscvinfo runtimedyld scalaropts selectiondag sparc sparcasmparser sparccodegen sparcdesc sparcdisassembler sparcinfo support symbolize systemz systemzasmparser systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen target textapi transformutils vectorize webassembly webassemblyasmparser webassemblycodegen webassemblydesc webassemblydisassembler webassemblyinfo webassemblyutils windowsdriver windowsmanifest x86 x86asmparser x86codegen x86desc x86disassembler x86info x86targetmca xray" LLVM_FILECHECK="/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" PYTHON="/usr/bin/python3" RUSTC="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" RUSTC_LINKER="i586-unknown-linux-gnu-gcc" RUSTDOC="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" RUST_BUILD_STAGE="stage2-i586-unknown-linux-gnu" RUST_DEMANGLER="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin/rust-demangler" S="/checkout" TARGET="i586-unknown-linux-gnu" TARGET_RPATH_DIR="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/i586-unknown-linux-gnu/lib" TMPDIR="/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/comment-section/comment-section" "make"
--- stdout -------------------------------
echo 'fn main(){}' | LD_LIBRARY_PATH="/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/comment-section/comment-section:/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/lib" '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc' --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/comment-section/comment-section -L /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/comment-section/comment-section  -Clinker='i586-unknown-linux-gnu-gcc' - --emit=link,obj -Csave-temps
--- stderr -------------------------------
--- stderr -------------------------------
error: linking with `i586-unknown-linux-gnu-gcc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/x-tools/i586-unknown-linux-gnu/bin" VSLANG="1033" "i586-unknown-linux-gnu-gcc" "-m64" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/comment-section/comment-section/rustc2H93y9/symbols.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/comment-section/comment-section/rust_out.rust_out.0c51b8f2-cgu.0.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/comment-section/comment-section/rust_out.592j25yu206l1fhs.rcgu.o" "-Wl,--as-needed" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/comment-section/comment-section" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6750aad19fcea1d3.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-21d882eb82e74d58.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-a7a4a5c38e3da2ad.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-e2b1fec37c9c19cd.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-675302af4c115fec.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-c2a2aba5d475f7d8.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-3d69bc2ce2ff7508.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-bb4c6139d02b6b90.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-3990de10d3f2460e.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-3a23c05350b4d45c.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-c2c33bc29289b145.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-b3d80be3be44960e.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-d2581a381e26c54b.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-0ff401eab4233ffd.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-6d46d38f739892fe.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-cb19371b39fc63d8.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-522518611024dce5.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-05898138a596088a.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-66b9c3ae5ff29c13.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/comment-section/comment-section/rust_out" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"
  = note: /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/comment-section/comment-section/rustc2H93y9/symbols.o' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/comment-section/comment-section/rust_out.rust_out.0c51b8f2-cgu.0.rcgu.o' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/comment-section/comment-section/rust_out.592j25yu206l1fhs.rcgu.o' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6750aad19fcea1d3.rlib(std-6750aad19fcea1d3.std.15ed721f-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-21d882eb82e74d58.rlib(panic_unwind-21d882eb82e74d58.panic_unwind.98db53c0-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-a7a4a5c38e3da2ad.rlib(object-a7a4a5c38e3da2ad.object.b5d6df17-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-e2b1fec37c9c19cd.rlib(memchr-e2b1fec37c9c19cd.memchr.826b9677-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-675302af4c115fec.rlib(addr2line-675302af4c115fec.addr2line.217e5446-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-c2a2aba5d475f7d8.rlib(gimli-c2a2aba5d475f7d8.gimli.c9d091ea-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-3d69bc2ce2ff7508.rlib(rustc_demangle-3d69bc2ce2ff7508.rustc_demangle.a2bb7b45-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-3a23c05350b4d45c.rlib(miniz_oxide-3a23c05350b4d45c.miniz_oxide.4f22f773-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-c2c33bc29289b145.rlib(adler-c2c33bc29289b145.adler.20b760a6-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-6d46d38f739892fe.rlib(libc-6d46d38f739892fe.libc.829dd370-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-cb19371b39fc63d8.rlib(alloc-cb19371b39fc63d8.alloc.f4af588f-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-05898138a596088a.rlib(core-05898138a596088a.core.8bbadb35-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-66b9c3ae5ff29c13.rlib(compiler_builtins-66b9c3ae5ff29c13.compiler_builtins.d40bdf8a-cgu.102.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-66b9c3ae5ff29c13.rlib(compiler_builtins-66b9c3ae5ff29c13.compiler_builtins.d40bdf8a-cgu.7.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-66b9c3ae5ff29c13.rlib(compiler_builtins-66b9c3ae5ff29c13.compiler_builtins.d40bdf8a-cgu.90.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/comment-section/comment-section/rust_out.rust_out.0c51b8f2-cgu.0.rcgu.o: file class ELFCLASS64 incompatible with ELFCLASS32
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: final link failed: file in wrong format
          collect2: error: ld returned 1 exit status

error: aborting due to previous error

make: *** [Makefile:6: all] Error 1
make: *** [Makefile:6: all] Error 1
------------------------------------------


---- [run-make] tests/run-make/llvm-ident stdout ----

error: make failed
status: exit status: 2
command: cd "/checkout/tests/run-make/llvm-ident" && AR="i586-unknown-linux-gnu-ar" CC="i586-unknown-linux-gnu-gcc -ffunction-sections -fdata-sections -fPIC -m32 -march=pentium -Wa,-mrelax-relocations=no" CXX="c++ -ffunction-sections -fdata-sections -fPIC -m32 -march=pentium" HOST_RPATH_DIR="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" LD_LIB_PATH_ENVVAR="LD_LIBRARY_PATH" LLVM_BIN_DIR="/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin" LLVM_COMPONENTS="aarch64 aarch64asmparser aarch64codegen aarch64desc aarch64disassembler aarch64info aarch64utils aggressiveinstcombine all all-targets analysis arm armasmparser armcodegen armdesc armdisassembler arminfo armutils asmparser asmprinter avr avrasmparser avrcodegen avrdesc avrdisassembler avrinfo binaryformat bitreader bitstreamreader bitwriter bpf bpfasmparser bpfcodegen bpfdesc bpfdisassembler bpfinfo cfguard codegen core coroutines coverage debuginfocodeview debuginfodwarf debuginfogsym debuginfomsf debuginfopdb demangle dlltooldriver dwarflinker dwp engine executionengine extensions filecheck frontendopenacc frontendopenmp fuzzercli fuzzmutate globalisel hexagon hexagonasmparser hexagoncodegen hexagondesc hexagondisassembler hexagoninfo instcombine instrumentation interfacestub interpreter ipo irreader jitlink libdriver lineeditor linker lto m68k m68kasmparser m68kcodegen m68kdesc m68kdisassembler m68kinfo mc mca mcdisassembler mcjit mcparser mips mipsasmparser mipscodegen mipsdesc mipsdisassembler mipsinfo mirparser msp430 msp430asmparser msp430codegen msp430desc msp430disassembler msp430info native nativecodegen nvptx nvptxcodegen nvptxdesc nvptxinfo objcarcopts objcopy object objectyaml option orcjit orcshared orctargetprocess passes powerpc powerpcasmparser powerpccodegen powerpcdesc powerpcdisassembler powerpcinfo profiledata remarks riscv riscvasmparser riscvcodegen riscvdesc riscvdisassembler riscvinfo runtimedyld scalaropts selectiondag sparc sparcasmparser sparccodegen sparcdesc sparcdisassembler sparcinfo support symbolize systemz systemzasmparser systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen target textapi transformutils vectorize webassembly webassemblyasmparser webassemblycodegen webassemblydesc webassemblydisassembler webassemblyinfo webassemblyutils windowsdriver windowsmanifest x86 x86asmparser x86codegen x86desc x86disassembler x86info x86targetmca xray" LLVM_FILECHECK="/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" PYTHON="/usr/bin/python3" RUSTC="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" RUSTC_LINKER="i586-unknown-linux-gnu-gcc" RUSTDOC="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" RUST_BUILD_STAGE="stage2-i586-unknown-linux-gnu" RUST_DEMANGLER="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin/rust-demangler" S="/checkout" TARGET="i586-unknown-linux-gnu" TARGET_RPATH_DIR="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/i586-unknown-linux-gnu/lib" TMPDIR="/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident" "make"
--- stdout -------------------------------
# `-Ccodegen-units=16 -Copt-level=2` is used here to trigger thin LTO
# across codegen units to test deduplication of the named metadata
# (see `LLVMRustPrepareThinLTOImport` for details).
echo 'fn main(){}' | LD_LIBRARY_PATH="/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident:/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/lib" '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc' --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident -L /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident  -Clinker='i586-unknown-linux-gnu-gcc' - --emit=link,obj -Csave-temps -Ccodegen-units=16 -Copt-level=2
--- stderr -------------------------------
--- stderr -------------------------------
warning: ignoring emit path because multiple .o files were produced

error: linking with `i586-unknown-linux-gnu-gcc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/x-tools/i586-unknown-linux-gnu/bin" VSLANG="1033" "i586-unknown-linux-gnu-gcc" "-m64" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident/rustchieH7F/symbols.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident/rust_out.rust_out.0c51b8f2-cgu.0.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident/rust_out.rust_out.0c51b8f2-cgu.1.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident/rust_out.rust_out.0c51b8f2-cgu.2.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident/rust_out.592j25yu206l1fhs.rcgu.o" "-Wl,--as-needed" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6750aad19fcea1d3.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-21d882eb82e74d58.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-a7a4a5c38e3da2ad.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-e2b1fec37c9c19cd.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-675302af4c115fec.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-c2a2aba5d475f7d8.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-3d69bc2ce2ff7508.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-bb4c6139d02b6b90.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-3990de10d3f2460e.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-3a23c05350b4d45c.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-c2c33bc29289b145.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-b3d80be3be44960e.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-d2581a381e26c54b.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-0ff401eab4233ffd.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-6d46d38f739892fe.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-cb19371b39fc63d8.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-522518611024dce5.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-05898138a596088a.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-66b9c3ae5ff29c13.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident/rust_out" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-Wl,-O1" "-nodefaultlibs"
  = note: /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident/rustchieH7F/symbols.o' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident/rust_out.rust_out.0c51b8f2-cgu.0.rcgu.o' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident/rust_out.rust_out.0c51b8f2-cgu.1.rcgu.o' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident/rust_out.rust_out.0c51b8f2-cgu.2.rcgu.o' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident/rust_out.592j25yu206l1fhs.rcgu.o' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6750aad19fcea1d3.rlib(std-6750aad19fcea1d3.std.15ed721f-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-21d882eb82e74d58.rlib(panic_unwind-21d882eb82e74d58.panic_unwind.98db53c0-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-a7a4a5c38e3da2ad.rlib(object-a7a4a5c38e3da2ad.object.b5d6df17-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-e2b1fec37c9c19cd.rlib(memchr-e2b1fec37c9c19cd.memchr.826b9677-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-675302af4c115fec.rlib(addr2line-675302af4c115fec.addr2line.217e5446-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-c2a2aba5d475f7d8.rlib(gimli-c2a2aba5d475f7d8.gimli.c9d091ea-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-3d69bc2ce2ff7508.rlib(rustc_demangle-3d69bc2ce2ff7508.rustc_demangle.a2bb7b45-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-3a23c05350b4d45c.rlib(miniz_oxide-3a23c05350b4d45c.miniz_oxide.4f22f773-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-c2c33bc29289b145.rlib(adler-c2c33bc29289b145.adler.20b760a6-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-6d46d38f739892fe.rlib(libc-6d46d38f739892fe.libc.829dd370-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-cb19371b39fc63d8.rlib(alloc-cb19371b39fc63d8.alloc.f4af588f-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-05898138a596088a.rlib(core-05898138a596088a.core.8bbadb35-cgu.0.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-66b9c3ae5ff29c13.rlib(compiler_builtins-66b9c3ae5ff29c13.compiler_builtins.d40bdf8a-cgu.102.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-66b9c3ae5ff29c13.rlib(compiler_builtins-66b9c3ae5ff29c13.compiler_builtins.d40bdf8a-cgu.7.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: i386:x86-64 architecture of input file `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-66b9c3ae5ff29c13.rlib(compiler_builtins-66b9c3ae5ff29c13.compiler_builtins.d40bdf8a-cgu.90.rcgu.o)' is incompatible with i386 output
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/llvm-ident/llvm-ident/rust_out.rust_out.0c51b8f2-cgu.0.rcgu.o: file class ELFCLASS64 incompatible with ELFCLASS32
          /x-tools/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/8.3.0/../../../../i586-unknown-linux-gnu/bin/ld: final link failed: file in wrong format
          collect2: error: ld returned 1 exit status

error: aborting due to previous error; 1 warning emitted

make: *** [Makefile:9: all] Error 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.