[gcc r17-2759] gcc/driver: make SIGKILL/QUIT/... message clearer

Arsen Arsenovic via Gcc-cvs <[email protected]>
Newsgroups gmane.comp.gcc.cvs
Message-ID <[email protected]>
https://gcc.gnu.org/g:42c1dc1948fde32c466b7f3783e8e0bad38d0e7f

commit r17-2759-g42c1dc1948fde32c466b7f3783e8e0bad38d0e7f
Author: Arsen Arsenović <[email protected]>
Date:   Wed Jul 22 13:50:52 2026 +0200

    gcc/driver: make SIGKILL/QUIT/... message clearer
    
    When a subprocess (say, lto1) gets killed by SIGKILL on Linux with
    LANG=en_..., the message GCC prints is "Killed signal terminated program
    lto1".
    
    This message is a little bit unclear - the "Killed" is certainly not
    something that gramatically fits there, and the syscall for sending a
    signal is called "kill", so the above sounds like an incorrect way of
    saying "program lto1 was killed by some signal".
    
    I can't find any decent description of what the correct class of words
    strsignal returns, so, lets instead print "PROG terminated by signal
    9 (Killed)".  This is clearer; it states that signal 9 is at fault and
    gives the OS-provided "descriptive string" corresponding to that signal.
    
    Example:
    
      ~/gcc/_b_gcc/gcc$ ./xgcc -B. -x c -
      xgcc: fatal error: cc1 terminated by signal 9 (Killed)
      compilation terminated.
      ~/gcc/_b_gcc/gcc 1 $
    
    gcc/ChangeLog:
    
            * gcc.cc (execute): Make "signal terminated program" message
            clearer.
    
    Suggested-by: Alexander Monakov <[email protected]>

Diff:
---
 gcc/gcc.cc | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index b8b0db4ed5e4..ca4e397bb5cb 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -3563,9 +3563,10 @@ execute (void)
 		 thinking there's a compiler bug.  Much more likely is
 		 the user or OOM killer nuked it.  */
 	      fatal_error (input_location,
-			   "%s signal terminated program %s",
-			   strsignal (WTERMSIG (status)),
-			   commands[i].prog);
+			   "%s terminated by signal %d (%s)",
+			   commands[i].prog,
+			   WTERMSIG (status),
+			   strsignal (WTERMSIG (status)));
 	      break;
 
 #ifdef SIGPIPE
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.