Add diagnostic explaining STATUS_STACK_BUFFER_OVERRUN not only being

used for stack buffer overruns if link.exe exits with that exit code

`STATUS_STACK_BUFFER_OVERRUN` is also used for fast abnormal program
termination, e.g. by abort(). Emit a special diagnostic to let people
know that this most likely doesn't indicate a stack buffer overrun.
This commit is contained in:
George Tokmaji
2025-05-31 21:18:41 +02:00
parent 2fd855fbfc
commit b60f75c926
3 changed files with 16 additions and 0 deletions

View File

@@ -550,6 +550,11 @@ impl<G: EmissionGuarantee> Diagnostic<'_, G> for LinkingFailed<'_> {
#[diag(codegen_ssa_link_exe_unexpected_error)]
pub(crate) struct LinkExeUnexpectedError;
#[derive(Diagnostic)]
#[diag(codegen_ssa_link_exe_status_stack_buffer_overrun)]
#[note]
pub(crate) struct LinkExeStatusStackBufferOverrun;
#[derive(Diagnostic)]
#[diag(codegen_ssa_repair_vs_build_tools)]
pub(crate) struct RepairVSBuildTools;