diff options
| author | George Tokmaji <tokmajigeorge@gmail.com> | 2025-08-07 23:42:17 +0200 |
|---|---|---|
| committer | George Tokmaji <tokmajigeorge@gmail.com> | 2025-08-08 00:16:53 +0200 |
| commit | 7e5acb91d70d2d6f77ed4e12041ef00a1e4582fe (patch) | |
| tree | ca973620564b601e367bb88489dc9c0cc73fd100 | |
| parent | b60f75c9261e0968fbb6f3aa435660db189e0ab5 (diff) | |
| download | rust-7e5acb91d70d2d6f77ed4e12041ef00a1e4582fe.tar.gz rust-7e5acb91d70d2d6f77ed4e12041ef00a1e4582fe.zip | |
Add note mentioning the event log to LinkExeStatusStackBufferOverrun
| -rw-r--r-- | compiler/rustc_codegen_ssa/messages.ftl | 3 | ||||
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/errors.rs | 13 |
2 files changed, 12 insertions, 4 deletions
diff --git a/compiler/rustc_codegen_ssa/messages.ftl b/compiler/rustc_codegen_ssa/messages.ftl index 53a52736a97..71212253afc 100644 --- a/compiler/rustc_codegen_ssa/messages.ftl +++ b/compiler/rustc_codegen_ssa/messages.ftl @@ -179,7 +179,8 @@ codegen_ssa_ld64_unimplemented_modifier = `as-needed` modifier not implemented y codegen_ssa_lib_def_write_failure = failed to write lib.def file: {$error} codegen_ssa_link_exe_status_stack_buffer_overrun = 0xc0000409 is `STATUS_STACK_BUFFER_OVERRUN` - .note = this may have been caused by a program abort and not a stack buffer overrun + .abort_note = this may have been caused by a program abort and not a stack buffer overrun + .event_log_note = consider checking the Application Event Log for Windows Error Reporting events to see the fail fast error code codegen_ssa_link_exe_unexpected_error = `link.exe` returned an unexpected error diff --git a/compiler/rustc_codegen_ssa/src/errors.rs b/compiler/rustc_codegen_ssa/src/errors.rs index 9ef1473e538..fc1092f79a5 100644 --- a/compiler/rustc_codegen_ssa/src/errors.rs +++ b/compiler/rustc_codegen_ssa/src/errors.rs @@ -550,11 +550,18 @@ 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; +impl<'a, G: EmissionGuarantee> Diagnostic<'a, G> for LinkExeStatusStackBufferOverrun { + fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'a>, level: Level) -> Diag<'a, G> { + let mut diag = + Diag::new(dcx, level, fluent::codegen_ssa_link_exe_status_stack_buffer_overrun); + diag.note(fluent::codegen_ssa_abort_note); + diag.note(fluent::codegen_ssa_event_log_note); + diag + } +} + #[derive(Diagnostic)] #[diag(codegen_ssa_repair_vs_build_tools)] pub(crate) struct RepairVSBuildTools; |
