Skip to content
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

Stack protector + coroutines + c++ exceptions causing musttail call must precede a ret with an optional bitcast #49505

Closed
lanza opened this issue Apr 29, 2021 · 5 comments
Assignees
Labels
bugzilla Issues migrated from bugzilla llvm:codegen

Comments

@lanza
Copy link
Member

lanza commented Apr 29, 2021

Bugzilla Link 50161
Resolution FIXED
Resolved on May 06, 2021 17:08
Version trunk
OS All
Blocks #48661
CC @tstellar
Fixed by commit(s) 5e3d9fc 471a386

Extended Description

As the title said, we (Facebook) were hitting an assert with coroutines, stack protector and c++ exceptions generating a musttail call that didn't immediately precede a ret. I fixed it by cherrypicking the below:

5e3d9fc

I could run creduce and generate a simple example if need be, but the diff's contents and it's description are pretty clear and the pick is clean.

@lanza
Copy link
Member Author

lanza commented Apr 29, 2021

assigned to @tstellar

@lanza
Copy link
Member Author

lanza commented Apr 29, 2021

Tim Northover was the author of the fix in 5e3d9fc

@tstellar
Copy link
Collaborator

Hi Tim,

What is your opinion on backporting this?

https://reviews.llvm.org/rG5e3d9fcc3a8802cea5b850a3ca40c515d916bf82

@TNorthover
Copy link
Contributor

I'd say it's probably OK, though I'm not really an SSP expert. I had no idea anyone but Swift was hitting this.

@tstellar
Copy link
Collaborator

tstellar commented May 7, 2021

Merged: 471a386

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 11, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla llvm:codegen
Projects
None yet
Development

No branches or pull requests

3 participants