about summary refs log tree commit diff
path: root/src/rustllvm/ExecutionEngineWrapper.cpp
diff options
context:
space:
mode:
authorValerii Hiora <valerii.hiora@gmail.com>2015-02-26 20:26:36 +0200
committerValerii Hiora <valerii.hiora@gmail.com>2015-03-05 12:41:59 +0200
commit3f4181a6e5c41a8d9d8ee434e6b75e7bef315998 (patch)
tree11383c7b9a5e1199b30c04b5edd3ac2c441a97b7 /src/rustllvm/ExecutionEngineWrapper.cpp
parentdd077d5decbc3e462a9fe2feb1a0af0486897acb (diff)
downloadrust-3f4181a6e5c41a8d9d8ee434e6b75e7bef315998.tar.gz
rust-3f4181a6e5c41a8d9d8ee434e6b75e7bef315998.zip
iOS: open file on aarch64 breaks permissions
According to Apple arm64 calling convention varargs always are passed
through stack. Since `open` is actually a vararg function on Darwin's,
it means that older declaration caused permissions to be taken from
stack, while passed through register => it set file permissions
to garbage and it was simply impossible to read/delete files after they
were created.

They way this commit handles it is to preserve compatibility with
existing code - it simply creates a shim unsafe function so all existing
callers continue work as nothing happened.
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions