Skip to content

[6.0] IRGen: Properly adjust the closure type of a partial_apply of an objc_method #73850

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

Conversation

aschwaighofer
Copy link
Contributor

It needs to match with the (large loadable) lowered closure type in the rest of the program: Large types in the signature need to be passed indirectly.

A failure to do so results in mis-matched ptr auth descriminators and a crash at runtime on arm64e.

Scope: Should only affect programs that form closures of objective c methods involving large types

Risk: Low for other code, medium for programs involving such closures

Testing: A regression test was added

rdar://127367321

Original PR: #73791

(cherry picked from commit 69b635a)

…n objc_method

It needs to match with the (large loadable) lowered closure type in the
rest of the program: Large types in the signature need to be passed
indirectly.

A failure to do so results in mis-matched ptr auth descriminators and a
crash at runtime on arm64e.

Scope: Should only affect programs that form closures of objective c
methods involving large types

Risk: Low for other code, medium for programs involving such closures

Testing: A regression test was added

rdar://127367321

Original PR: swiftlang#73791

(cherry picked from commit 69b635a)
@aschwaighofer aschwaighofer requested a review from a team as a code owner May 23, 2024 16:42
@aschwaighofer
Copy link
Contributor Author

@swift-ci test

@aschwaighofer aschwaighofer merged commit ea51b29 into swiftlang:release/6.0 May 29, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants