os-rust/tests
bors 7106800e16 Auto merge of #123656 - lqd:linker-features, r=petrochenkov
Linker flavors next steps: linker features

This is my understanding of the first step towards `@petrochenkov's` vision for the future of linker flavors, described in https://github.com/rust-lang/rust/pull/119906#issuecomment-1895693162 and the discussion that followed.

To summarize: having `Cc` and `Lld` embedded in linker flavors creates tension about naming, and a combinatorial explosion of flavors for each new linker feature we'd want to use. Linker features are an extension mechanism that is complementary to principal flavors, with benefits described in #119906.

The most immediate use of this flag would be to turn self-contained linking on and off via features instead of flavors. For example, `-Clinker-features=+/-lld` would toggle using lld instead of selecting a precise flavor, and would be "generic" and work cross-platform (whereas linker flavors are currently more tied to targets). Under this scheme, MCP510 is expected to be `-Clink-self-contained=+linker -Zlinker-features=+lld -Zunstable-options` (though for the time being, the original flags using lld-cc flavors still work).

I purposefully didn't add or document CLI support for `+/-cc`, as it would be a noop right now. I only expect that we'd initially want to stabilize `+/-lld` to begin with.

r? `@petrochenkov`

You had requested that minimal churn would be done to the 230 target specs and this does none yet: the linker features are inferred from the flavor since they're currently isomorphic. We of course expect this to change sooner rather than later.

In the future, we can allow targets to define linker features independently from their flavor, and remove the cc and lld components from the flavors to use the features instead, this actually doesn't need to block stabilization, as we discussed.

(Best reviewed per commit)
2024-04-13 11:10:01 +00:00
..
assembly Add support for Arm64EC inline assembly 2024-04-10 10:06:44 -07:00
auxiliary extend extern tests to include FiveU16s 2024-03-17 00:07:42 -04:00
codegen Rollup merge of #123249 - goolmoos:naked_variadics, r=pnkfelix 2024-04-12 17:41:33 +02:00
codegen-units Codegen const panic messages as function calls 2024-03-22 09:55:50 -04:00
coverage Eliminate UbCheck for non-standard libraries 2024-03-27 21:02:40 +08:00
coverage-run-rustdoc [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
debuginfo Add rust-lldb pretty printing for Path and PathBuf 2024-03-29 18:02:26 -06:00
incremental Add missing -Zquery-dep-graph to the spike-neg incr comp tests 2024-04-06 13:36:16 +00:00
mir-opt Auto merge of #122387 - DianQK:re-enable-early-otherwise-branch, r=cjgillot 2024-04-09 01:02:29 +00:00
pretty Add MatchKind member to the Match expr for pretty printing & fmt 2024-03-06 00:35:19 -05:00
run-make Auto merge of #123656 - lqd:linker-features, r=petrochenkov 2024-04-13 11:10:01 +00:00
run-make-fulldeps Soft-destabilize RustcEncodable/RustcDecodable 2024-03-22 13:24:35 -07:00
run-pass-valgrind Add test for Apple's -weak_framework linker argument 2024-03-18 23:27:34 +01:00
rustdoc Rollup merge of #123459 - GuillaumeGomez:fix-123435, r=notriddle 2024-04-11 20:20:49 +02:00
rustdoc-gui rustdoc: update test cases 2024-04-09 20:22:13 -07:00
rustdoc-js Rollup merge of #122247 - notriddle:notriddle/search-unbox-limit, r=GuillaumeGomez 2024-03-14 15:44:32 +01:00
rustdoc-js-std rustdoc-search: add search query syntax Fn(T) -> U 2024-03-11 22:27:22 -07:00
rustdoc-json [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
rustdoc-ui Rollup merge of #123204 - notriddle:notriddle/include-str-span, r=pnkfelix 2024-04-12 17:41:32 +02:00
ui Auto merge of #122603 - estebank:clone-o-rama, r=lcnr 2024-04-13 09:07:26 +00:00
ui-fulldeps Rollup merge of #123659 - celinval:smir-fix-intrinsic, r=oli-obk 2024-04-10 16:15:23 +02:00
COMPILER_TESTS.md