]> git.lizzy.rs Git - rust.git/commitdiff
Auto merge of #38146 - kali:master, r=alexcrichton
authorbors <bors@rust-lang.org>
Thu, 8 Dec 2016 07:05:19 +0000 (07:05 +0000)
committerbors <bors@rust-lang.org>
Thu, 8 Dec 2016 07:05:19 +0000 (07:05 +0000)
fix objc ABI in std::env::args

iOS use different calling convention for `objc_msgSend` depending on the platform. armv7 expect good old variadic arguments, but aarch64 wants "normal" convention: `objc_msgSend` has to be called mimicking the actual callee prototype.

https://developer.apple.com/library/content/documentation/General/Conceptual/CocoaTouch64BitGuide/ConvertingYourAppto64-Bit/ConvertingYourAppto64-Bit.html#//apple_ref/doc/uid/TP40013501-CH3-SW26

This currently breaks std::env:args() on aarch64 iOS devices. As far as I can tell, in the standard library, this is the only occurrence of ObjectiveC dispatching.


Trivial merge