-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Implement stack probes for x86 #2440
Conversation
241a04e
to
a72015f
Compare
// __chkstk | yes | no | | ||
// __chkstk_ms | no | no | | ||
// ___chkstk (__alloca) | yes | yes | | ||
// ___chkstk_ms | no | no | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this the same as __chkstk_ms
then? Could you make it an alias?
Similar for ___chkstk
and _chkstk
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Having them defined on their own is helpful because one more (or one less) underscore may break your stack.
Enabled on non-Windows systems only since it already requires stack probes.
Nice work! |
// Define this symbol here so that we can link with the zig objects during the | ||
// compiler bootstrap phase | ||
extern "C" { | ||
void __zig_probe_stack(void) { } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@LemonBoy why was this needed? I tried removing this and it seems to work fine
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I needed that in order not to do a fresh rebuild when I first added the stack probe annotation, you can safely remove it now.
Closes #530