JIT: Disallow return buffer aliasing for unmanaged calls (#73059)
authorJakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>
Tue, 2 Aug 2022 16:30:07 +0000 (18:30 +0200)
committerGitHub <noreply@github.com>
Tue, 2 Aug 2022 16:30:07 +0000 (18:30 +0200)
commit8ac8400e887a1f5c2310a38ca6d035d61c675b9f
treee73381121d230ce72d0e913f86a15dc190d498eb
parent90828a31ae2cf3e5e4933cc87d2f90602c0af9f7
JIT: Disallow return buffer aliasing for unmanaged calls  (#73059)

Native calling conventions disallow the return buffer from aliasing
anything else. The managed ABI allows this so we need to handle
unmanaged calls specially.

Fix #72270
src/coreclr/jit/importer.cpp
src/tests/JIT/Directed/aliasing_retbuf/CMakeLists.txt [new file with mode: 0644]
src/tests/JIT/Directed/aliasing_retbuf/aliasing_retbuf.cs [new file with mode: 0644]
src/tests/JIT/Directed/aliasing_retbuf/aliasing_retbuf.csproj [new file with mode: 0644]
src/tests/JIT/Directed/aliasing_retbuf/aliasing_retbuf_native.cpp [new file with mode: 0644]
src/tests/issues.targets