[Crash-utility] [PATCH] Fix gcc_version character display

lijiang lijiang at redhat.com
Mon Apr 26 02:42:23 UTC 2021


在 2021年04月25日 13:50, Youling Tang 写道:
> When using the "help -k" command in the 5.12 kernel, it was found that the
> gcc_version character string was displayed as 0.0.0.
> Check the value of the proc_version string to know,
>   crash> help -k
>   ...
>   proc_version: Linux version 5.12.0-rc2kexec+ (root at bogon) (gcc (GCC) 7.3.1
>   20180303 (Red  Hat 7.3.1-6), GNU ld version 2.28-13.fc21.loongson.6) #30
>   SMP PREEMPT Thu Apr 22 09:04:57 HKT 2021
>   ...
> 
> Therefore, the "gcc (GCC)" character should be searched to obtain the correct
> character string "gcc_version" value.
> 
> Signed-off-by: Youling Tang <tangyouling at loongson.cn>
> ---
>  kernel.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/kernel.c b/kernel.c
> index 528f6ee..a1872c2 100644
> --- a/kernel.c
> +++ b/kernel.c
> @@ -1103,9 +1103,13 @@ verify_version(void)
>  	/*
>  	 *  Keeping the gcc version with #define's is getting out of hand.
>  	 */
> -	if ((p1 = strstr(kt->proc_version, "gcc version "))) {
> +	if ((p1 = strstr(kt->proc_version, "gcc version ")) ||
> +	     (p1 = strstr(kt->proc_version, "gcc (GCC) "))) {
>  		BZERO(buf, BUFSIZE);
> -		p1 += strlen("gcc version ");
> +		if (strstr(kt->proc_version, "gcc version "))
> +			p1 += strlen("gcc version ");
> +		else
> +			p1 += strlen("gcc (GCC) ");
>  		p2 = buf;
>  		while (((*p1 >= '0') && (*p1 <= '9')) || (*p1 == '.')) {
>  			if (*p1 == '.')
> @@ -3661,7 +3665,7 @@ module_init(void)
>  					modules_found = TRUE;
>  					break;
>  				}
> -			} 
> +			}
>  
>  			if (!modules_found) {
>                          	error(WARNING,
> 

Acked-by: Lianbo Jiang <lijiang at redhat.com>




More information about the Crash-utility mailing list