-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Fill uninitialized address-taken locals with poison pattern in debug codegen #13072
Comments
Honestly, I'd like to see this not just for debug codegen, but also as an opt-in thing that admins could enable in production applications. Going to my cloud hosting portal and hitting a checkbox that says "my app is misbehaving; please enable additional error checking at runtime" is a compelling scenario. |
runtime/src/coreclr/tools/Common/JitInterface/CorInfoImpl.cs Lines 2755 to 2760 in 907fc3e
runtime/src/coreclr/tools/aot/ILCompiler.ReadyToRun/JitInterface/CorInfoImpl.ReadyToRun.cs Lines 568 to 573 in dcb42e8
also L1210-L1214, L1385-L1389 Lines 23 to 33 in 01b7e73
also: L39-L48 runtime/src/libraries/System.Private.CoreLib/src/System/Number.NumberBuffer.cs Lines 43 to 45 in 01b7e73
|
runtime/src/libraries/System.Formats.Asn1/src/System/Formats/Asn1/AsnWriter.cs Lines 270 to 273 in 753b764
|
* Poison address exposed user variables in debug code Fix #13072 * Run jit-format * Use named scratch register and kill it in LSRA * Enable it unconditionally for testing purposes * Remove unnecessary modified reg on ARM * Fix OSR and get rid of test code * Remove a declaration * Undo modified comment and use modulo instead of and * Add a test * Rephrase comment Co-authored-by: Kunal Pathak <[email protected]> * Disable poisoning test on mono * Remove outdated line Co-authored-by: Kunal Pathak <[email protected]>
C/C++ compilers have this debugging/diagnostic aid for years.
More context: dotnet/coreclr#25674 (comment)
Related to: dotnet/csharplang#868
category:testing
theme:testing
skill-level:beginner
cost:small
The text was updated successfully, but these errors were encountered: