rust/tests
bors 31ffe48723 Auto merge of #116035 - lqd:mcp-510-target-specs, r=petrochenkov
Allow target specs to use an LLD flavor, and self-contained linking components

This PR allows:
- target specs to use an LLD linker-flavor: this is needed to switch `x86_64-unknown-linux-gnu` to using LLD, and is currently not possible because the current flavor json serialization fails to roundtrip on the modern linker-flavors. This can e.g. be seen in https://github.com/rust-lang/rust/pull/115622#discussion_r1321312880 which explains where an `Lld::Yes` is ultimately deserialized into an `Lld::No`.
- target specs to declare self-contained linking components: this is needed to switch `x86_64-unknown-linux-gnu` to using `rust-lld`
- adds an end-to-end test of a custom target json simulating `x86_64-unknown-linux-gnu` being switched to using `rust-lld`
- disables codegen backends from participating because they don't support `-Zgcc-ld=lld` which is the basis of mcp510.

r? `@petrochenkov:` if the approach discussed https://github.com/rust-lang/rust/pull/115622#discussion_r1329403467 and on zulip would work for you: basically, see if we can emit only modern linker flavors in the json specs, but accept both old and new flavors while reading them, to fix the roundtrip issue.

The backwards compatible `LinkSelfContainedDefault` variants are still serialized and deserialized in `crt-objects-fallback`, while the spec equivalent of e.g. `-Clink-self-contained=+linker` is serialized into a different json object (with future-proofing to incorporate `crt-objects-fallback`  in the future).

---

I've been test-driving this in https://github.com/rust-lang/rust/pull/113382 to test actually switching `x86_64-unknown-linux-gnu`  to `rust-lld` (and fix what needs to be fixed in CI, bootstrap, etc), and it seems to work fine.
2023-10-27 02:11:36 +00:00
..
assembly Auto merge of #116037 - wesleywiser:stack_protector_test_windows, r=cuviper 2023-10-19 07:50:09 +00:00
auxiliary
codegen coverage: Add UI tests for values accepted by -Cinstrument-coverage 2023-10-23 17:41:40 +11:00
codegen-units Automatically enable cross-crate inlining for small functions 2023-10-17 19:53:51 -04:00
coverage-map coverage: Handle fn signature spans more consistently near ? 2023-10-21 11:53:27 +11:00
debuginfo s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
incremental Bless incremental tests. 2023-10-06 15:46:11 +00:00
mir-opt Auto merge of #113262 - Nilstrieb:rawr-casting, r=lcnr 2023-10-26 12:54:19 +00:00
pretty Preserve unicode escapes in format string literals when pretty-printing AST 2023-10-16 21:20:21 +02:00
run-coverage coverage: Handle fn signature spans more consistently near ? 2023-10-21 11:53:27 +11:00
run-coverage-rustdoc
run-make Auto merge of #116035 - lqd:mcp-510-target-specs, r=petrochenkov 2023-10-27 02:11:36 +00:00
run-make-fulldeps Auto merge of #116818 - Nilstrieb:stop-submitting-bug-reports, r=wesleywiser 2023-10-26 02:08:07 +00:00
run-pass-valgrind
rustdoc Handle structured stable attribute 'since' version in rustdoc 2023-10-24 17:34:59 -07:00
rustdoc-gui Auto merge of #115948 - notriddle:notriddle/logo-lockup, r=fmease 2023-10-11 06:28:36 +00:00
rustdoc-js Add regression test for #115480 2023-10-11 11:41:39 +02:00
rustdoc-js-std rustdoc: update test cases for changes to the printing style 2023-09-21 15:16:44 -07:00
rustdoc-json
rustdoc-ui s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
ui Auto merge of #113183 - estebank:redundant-sized-errors, r=davidtwco 2023-10-27 00:06:12 +00:00
ui-fulldeps Add test for smir locals 2023-10-26 00:22:56 +01:00
COMPILER_TESTS.md