-
Notifications
You must be signed in to change notification settings - Fork 459
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
Remove -fembed-bitcode flag #812
Conversation
the only other case that's potentially ambiguous here is using LTO, where you might want the bitcode for that. How is this supposed to be handled by this? because also in the bitcode case this could produce only bitcode files and no object files instead |
I'm less sure about that now actually, I'm not 100% sure how to tell if the embedded bitcode is being used in the case of LTO builds but with a quick test generating a |
I don't believe we need to worry about cross-lang LTO, you pretty much have to do a bunch of special stuff to set that up anyway. I think this is correct, but ideally we'd detect the xcode version and do it based on that. I have a patch that does that somewhere, but need to dig it out (I won't have time in the next couple weeks, maybe after) |
I don't think we need to detect the Xcode version for this because Apple no longer accepts App Store submissions with anything other than Xcode 14.1+ so it's no longer possible to submit apps that include bitcode at all since Xcode 14.1 doesn't support it. Outside of the App store there shouldn't be any reason for folks to use bitcode |
That seems reasonable. I'll merge this after the current release (which is quite large), I'm concerned it may have a large degree of fallout (if there's a mistake here), and would rather that not be confusable with all the other changes that are going to go into 1.80. |
Sounds good, thanks! Feel free to cc me on any issues that arise |
This conflicts but is worth doing. Mind rebasing? |
61976c9
to
fe35dba
Compare
rebased! |
Ugh, sorry -- happened to merge changes before getting to this that broke it again. Can you rebase again? |
Apple has recently stopped accepting apps built with any Xcode version below 14.1, and rejects apps built with bitcode starting with Xcode 14.
fe35dba
to
91e514a
Compare
Done! |
Hmmm... I'll merge this now, and look into the (certainly unrelated) CI bustage tomorrow... |
Thanks! |
…orse, r=davidtwco Remove legacy bitcode defaults from all Apple specs Xcode 14 [deprecated bitcode with warnings](https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes#Deprecations) and now [Xcode 15 has dropped it completely](https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Deprecations). `rustc` should follow what the platform tooling is doing as well since it just increases binary sizes for no gain at this point. `cc` made a [similar change last month](rust-lang/cc-rs#812). Two things show this should have minimal impact: - Apple has stopped accepting apps built with versions of Xcode (<14) that generate bitcode - The app store has been stripping bitcode off IPA releases for over 2 years now. I didn't nuke all the bitcode changes added in rust-lang#71970 since maybe another target in the future could need mandatory bitcode embedding. Staticlibs built for iOS still link correctly with XCode 15 against a test app when using a compiler built from this branch. cc `@thomcc` `@keith`
…avidtwco Remove legacy bitcode defaults from all Apple specs Xcode 14 [deprecated bitcode with warnings](https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes#Deprecations) and now [Xcode 15 has dropped it completely](https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Deprecations). `rustc` should follow what the platform tooling is doing as well since it just increases binary sizes for no gain at this point. `cc` made a [similar change last month](rust-lang/cc-rs#812). Two things show this should have minimal impact: - Apple has stopped accepting apps built with versions of Xcode (<14) that generate bitcode - The app store has been stripping bitcode off IPA releases for over 2 years now. I didn't nuke all the bitcode changes added in rust-lang/rust#71970 since maybe another target in the future could need mandatory bitcode embedding. Staticlibs built for iOS still link correctly with XCode 15 against a test app when using a compiler built from this branch. cc `@thomcc` `@keith`
…avidtwco Remove legacy bitcode defaults from all Apple specs Xcode 14 [deprecated bitcode with warnings](https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes#Deprecations) and now [Xcode 15 has dropped it completely](https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Deprecations). `rustc` should follow what the platform tooling is doing as well since it just increases binary sizes for no gain at this point. `cc` made a [similar change last month](rust-lang/cc-rs#812). Two things show this should have minimal impact: - Apple has stopped accepting apps built with versions of Xcode (<14) that generate bitcode - The app store has been stripping bitcode off IPA releases for over 2 years now. I didn't nuke all the bitcode changes added in rust-lang/rust#71970 since maybe another target in the future could need mandatory bitcode embedding. Staticlibs built for iOS still link correctly with XCode 15 against a test app when using a compiler built from this branch. cc `@thomcc` `@keith`
…avidtwco Remove legacy bitcode defaults from all Apple specs Xcode 14 [deprecated bitcode with warnings](https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes#Deprecations) and now [Xcode 15 has dropped it completely](https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Deprecations). `rustc` should follow what the platform tooling is doing as well since it just increases binary sizes for no gain at this point. `cc` made a [similar change last month](rust-lang/cc-rs#812). Two things show this should have minimal impact: - Apple has stopped accepting apps built with versions of Xcode (<14) that generate bitcode - The app store has been stripping bitcode off IPA releases for over 2 years now. I didn't nuke all the bitcode changes added in rust-lang/rust#71970 since maybe another target in the future could need mandatory bitcode embedding. Staticlibs built for iOS still link correctly with XCode 15 against a test app when using a compiler built from this branch. cc `@thomcc` `@keith`
This is a partial revert of 6d819a4 because rust-lang/cc-rs#812 removed this flag entirely, meaning we shouldn't have to pass this manually anymore
…itcode-usage-now-that-it-s-deprecated, r=clubby789 Remove unnecessary -fembed-bitcode usage now that it's deprecated This is a partial revert of 6d819a4 because rust-lang/cc-rs#812 removed this flag entirely, meaning we shouldn't have to pass this manually anymore
…age-now-that-it-s-deprecated, r=clubby789 Remove unnecessary -fembed-bitcode usage now that it's deprecated This is a partial revert of 6d819a4b8f45b170e7c2c415df20cfa2e0cbbf7f because rust-lang/cc-rs#812 removed this flag entirely, meaning we shouldn't have to pass this manually anymore
…age-now-that-it-s-deprecated, r=clubby789 Remove unnecessary -fembed-bitcode usage now that it's deprecated This is a partial revert of 6d819a4 because rust-lang/cc-rs#812 removed this flag entirely, meaning we shouldn't have to pass this manually anymore
…age-now-that-it-s-deprecated, r=clubby789 Remove unnecessary -fembed-bitcode usage now that it's deprecated This is a partial revert of 6d819a4b8f45b170e7c2c415df20cfa2e0cbbf7f because rust-lang/cc-rs#812 removed this flag entirely, meaning we shouldn't have to pass this manually anymore
Apple has recently stopped accepting apps built with any Xcode version below 14.1, and rejects apps built with bitcode starting with Xcode 14.