about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-12-08 07:05:19 +0000
committerbors <bors@rust-lang.org>2016-12-08 07:05:19 +0000
commit816a34aca23f3ebd0fddf79ebdf96c9fae976f58 (patch)
tree32da20743c5025a11271cd758f5e8fa36cbec547 /src/rustllvm/RustWrapper.cpp
parentd9aae6362d566497d55a94da060ec163cd874a41 (diff)
parenta1882ca769ed82fa16a06f113f386fa48366c331 (diff)
downloadrust-816a34aca23f3ebd0fddf79ebdf96c9fae976f58.tar.gz
rust-816a34aca23f3ebd0fddf79ebdf96c9fae976f58.zip
Auto merge of #38146 - kali:master, r=alexcrichton
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.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions