rust/compiler
Matthias Krüger 5fd6218d72
Rollup merge of #131016 - madsmtm:no-sdk-version-in-object, r=jieyouxu
Apple: Do not specify an SDK version in `rlib` object files

This was added in https://github.com/rust-lang/rust/pull/114114, but is unnecessary, since it ends up being overwritten when linking anyhow, and it feels wrong to embed some arbitrary SDK version in here. The object files produced by LLVM also do not set this, and the tooling shows `n/a` when it's `0`, so it seems to genuinely be optional in object files.

I've also added a test for the different places the SDK version shows up, and documented a bit more in the code how SDK versions work.

See https://github.com/rust-lang/rust/issues/129432 for the bigger picture.

Tested with (excludes the same few targets as in https://github.com/rust-lang/rust/pull/130435):
```console
./x test tests/run-make/apple-sdk-version --target aarch64-apple-darwin,aarch64-apple-ios,aarch64-apple-ios-macabi,aarch64-apple-ios-sim,aarch64-apple-tvos,aarch64-apple-tvos-sim,aarch64-apple-visionos,aarch64-apple-visionos-sim,aarch64-apple-watchos,aarch64-apple-watchos-sim,arm64_32-apple-watchos,armv7k-apple-watchos,armv7s-apple-ios,x86_64-apple-darwin,x86_64-apple-ios,x86_64-apple-ios-macabi,x86_64-apple-tvos,x86_64-apple-watchos-sim,x86_64h-apple-darwin
IPHONEOS_DEPLOYMENT_TARGET=10.0 ./x test tests/run-make/apple-sdk-version --target=i386-apple-ios
```

CC `@BlackHoleFox,` you [originally commented on these values](https://github.com/rust-lang/rust/pull/114114#discussion_r1300599445).

`@rustbot` label O-apple
2024-10-02 17:10:43 +02:00
..
rustc disable size asserts in the compiler when randomizing layouts 2024-08-31 23:56:45 +02:00
rustc_abi Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_arena Remove unnecessary lifetimes from Arena. 2024-09-13 15:33:19 +10:00
rustc_ast Pin memchr to 2.5.0 in the library rather than rustc_ast 2024-09-24 18:09:43 +02:00
rustc_ast_ir Add warn(unreachable_pub) to several crates. 2024-08-16 08:46:13 +10:00
rustc_ast_lowering Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_ast_passes Ban combination of GCE and new solver 2024-09-24 10:53:32 -04:00
rustc_ast_pretty Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_attr add stable_since convenience 2024-09-30 20:55:37 +00:00
rustc_baked_icu_data Don't add warn(unreachable_pub) to rustc_baked_icu. 2024-08-16 08:46:52 +10:00
rustc_borrowck make Borrows dataflow dumps about its loan domain 2024-10-02 00:30:50 +00:00
rustc_builtin_macros Reject leading unsafe in cfg!(...) and --check-cfg. 2024-09-30 12:15:08 +02:00
rustc_codegen_cranelift Relax a debug assertion in codegen 2024-09-30 12:18:02 -04:00
rustc_codegen_gcc Auto merge of #131111 - matthiaskrgr:rollup-n6do187, r=matthiaskrgr 2024-10-01 19:29:26 +00:00
rustc_codegen_llvm Auto merge of #131111 - matthiaskrgr:rollup-n6do187, r=matthiaskrgr 2024-10-01 19:29:26 +00:00
rustc_codegen_ssa Rollup merge of #131016 - madsmtm:no-sdk-version-in-object, r=jieyouxu 2024-10-02 17:10:43 +02:00
rustc_const_eval make InterpResult a dedicated type to avoid accidentally discarding the error 2024-10-01 21:45:35 +02:00
rustc_data_structures Auto merge of #130874 - klensy:bumpme, r=jieyouxu 2024-09-28 05:15:29 +00:00
rustc_driver Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_driver_impl bump few deps 2024-09-27 09:23:05 +03:00
rustc_error_codes Rollup merge of #130826 - fmease:compiler-mv-obj-safe-dyn-compat, r=compiler-errors 2024-09-27 21:35:08 +02:00
rustc_error_messages Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_errors bump few deps 2024-09-27 09:23:05 +03:00
rustc_expand Stabilize expr_2021 fragment in all editions 2024-10-01 07:51:58 +00:00
rustc_feature Stabilize expr_2021 fragment in all editions 2024-10-01 07:51:58 +00:00
rustc_fluent_macro Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_fs_util Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_graphviz Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_hir Rollup merge of #130714 - compiler-errors:try-structurally-resolve-const, r=BoxyUwU 2024-09-23 06:45:36 +02:00
rustc_hir_analysis Rollup merge of #131038 - onkoe:fix/adt_const_params_leak_118179, r=compiler-errors 2024-09-30 18:25:14 +02:00
rustc_hir_pretty Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_hir_typeck cleanup: don't manually unwrap_or_default() 2024-09-29 12:51:28 +02:00
rustc_incremental Dogfood feature(file_buffered) 2024-09-24 14:25:16 -07:00
rustc_index Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_index_macros Remove usage of specialization from newtype_index! 2024-06-30 16:42:53 +00:00
rustc_infer Get rid of a_is_expected from ToTrace 2024-09-27 15:43:18 -04:00
rustc_interface Replace -Z default-hidden-visibility with -Z default-visibility 2024-10-01 22:32:13 +10:00
rustc_lexer Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_lint Rollup merge of #131035 - dingxiangfei2009:tweak-if-let-rescope-lint, r=jieyouxu 2024-09-30 18:25:14 +02:00
rustc_lint_defs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_llvm Unpin cc and upgrade to the latest version 2024-09-30 13:31:42 -04:00
rustc_log Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_macros Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_metadata Implement RFC3137 trim-paths sysroot changes 2024-09-27 13:27:54 +02:00
rustc_middle Rollup merge of #130885 - RalfJung:interp-error-discard, r=oli-obk 2024-10-01 23:15:59 -07:00
rustc_mir_build tweak Const::identity_unevaluated name and docs 2024-09-28 21:28:08 +02:00
rustc_mir_dataflow fix extension for -Zdump-mir-dataflow graphviz files 2024-10-01 23:16:35 +00:00
rustc_mir_transform make InterpResult a dedicated type to avoid accidentally discarding the error 2024-10-01 21:45:35 +02:00
rustc_monomorphize Replace -Z default-hidden-visibility with -Z default-visibility 2024-10-01 22:32:13 +10:00
rustc_next_trait_solver Rollup merge of #130866 - compiler-errors:dyn-instantiate-binder, r=lcnr 2024-09-28 09:35:09 +02:00
rustc_parse Rollup merge of #130551 - nnethercote:fix-break-last-token, r=petrochenkov 2024-09-23 07:54:44 -07:00
rustc_parse_format Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_passes Check vtable projections for validity in miri 2024-09-23 19:38:26 -04:00
rustc_pattern_analysis cleanup: don't clone types that are Copy 2024-09-29 13:31:30 +02:00
rustc_privacy Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_query_impl Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_query_system Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_resolve cleanup: don't clone types that are Copy 2024-09-29 13:31:30 +02:00
rustc_sanitizers Compiler: Rename "object safe" to "dyn compatible" 2024-09-25 13:26:48 +02:00
rustc_serialize Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_session Replace -Z default-hidden-visibility with -Z default-visibility 2024-10-01 22:32:13 +10:00
rustc_smir Rollup merge of #130826 - fmease:compiler-mv-obj-safe-dyn-compat, r=compiler-errors 2024-09-27 21:35:08 +02:00
rustc_span Rollup merge of #130630 - taiki-e:s390x-clobber-abi, r=Amanieu 2024-10-01 17:32:07 +02:00
rustc_symbol_mangling Rollup merge of #130344 - Jaic1:fix-116306, r=BoxyUwU 2024-09-23 06:45:33 +02:00
rustc_target Rollup merge of #131016 - madsmtm:no-sdk-version-in-object, r=jieyouxu 2024-10-02 17:10:43 +02:00
rustc_trait_selection Also fix first_method_vtable_slot 2024-09-30 13:17:33 -04:00
rustc_traits Compiler: Rename "object safe" to "dyn compatible" 2024-09-25 13:26:48 +02:00
rustc_transmute Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_ty_utils Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_type_ir Auto merge of #129499 - fee1-dead-contrib:supereffects, r=compiler-errors 2024-09-30 00:30:09 +00:00
rustc_type_ir_macros Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
stable_mir Auto merge of #130946 - matthiaskrgr:rollup-ia4mf0y, r=matthiaskrgr 2024-09-27 21:23:29 +00:00