You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add support for no_split_stack attribute to LLVM. Use it on main #1226
Currently our __morestack method has to do an ugly check to detect whether it is being called from main. gcc supports a no_split_stack attribute that can be used to suppress the split-stack prologue. We should add it to LLVM and use it.
@amuxtux I'm not clear on the obstacles to implementing __morestack on ARM but I opened an issue about it: #4489. If you intend to disable stack growth on ARM then the easiest way is probably to completely turn off the split stack prologue on ARM (the code for which is here).
This attribute has now been implemented in LLVM, and it's available for use via the no_split_stack attribute. Currently there are no users of it, however.
Activity
brson commentedon Nov 28, 2011
C shim functions run on the C stack so they need to not have the prologue either
brson commentedon Mar 6, 2012
Ditto for crust functions.
brson commentedon Mar 6, 2012
There was some noise on llvm-dev about this recently but I didn't notice if anything became of it.
bblum commentedon Jun 11, 2012
After the changed C stack switching design, it will be essential that C shims have the prologue. Same for crust functions.
My changes to i386 __morestack make the "ugly check" less ugly, but the check could still stand to go away entirely.
bblum commentedon Jun 21, 2012
C stack switching was dropped; nothing was done about the ugly check.
brson commentedon Jan 14, 2013
@amuxtux I'm not clear on the obstacles to implementing
__morestackon ARM but I opened an issue about it: #4489. If you intend to disable stack growth on ARM then the easiest way is probably to completely turn off the split stack prologue on ARM (the code for which is here).emberian commentedon Jul 12, 2013
Triage bump; still relevant, esp with recent split-stack discussions.
brson commentedon Jul 28, 2013
This is required for the new scheduler in order to implement split stacks.
Upgrade llvm to current HEAD
alexcrichton commentedon Aug 20, 2013
This attribute has now been implemented in LLVM, and it's available for use via the
no_split_stackattribute. Currently there are no users of it, however.catamorphism commentedon Sep 26, 2013
Done, closing
Fix assert_assignable for array types
Update links to `rustc_mir` in Two Phase Borrows (rust-lang#1226)
Update links to `rustc_mir` in Two Phase Borrows (rust-lang#1226)
Merge rust-lang#1226
Auto merge of rust-lang#1226 - RalfJung:rustup, r=RalfJung