Re: [PATCH 5.10 00/59] 5.10.223-rc1 review

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 26, 2024 at 07:25:21AM +0000, Jari Ruusu wrote:
> Some older systems still compile kernels with old gcc version.
> 
> $ grep -B3 "^GNU C" linux-5.10.223-rc1/Documentation/Changes 
> ====================== ===============  ========================================
>         Program        Minimal version       Command to check the version
> ====================== ===============  ========================================
> GNU C                  4.9              gcc --version
> 
> These warnings and errors show up when compiling with gcc 4.9.2
> 
>   UPD     include/config/kernel.release
>   UPD     include/generated/uapi/linux/version.h
>   UPD     include/generated/utsrelease.h
>   CC      scripts/mod/empty.o
> In file included from ././include/linux/compiler_types.h:65:0,
>                  from <command-line>:0:
> ./include/linux/compiler_attributes.h:29:29: warning: "__GCC4_has_attribute___uninitialized__" is not defined [-Wundef]
>  # define __has_attribute(x) __GCC4_has_attribute_##x
>                              ^
> ./include/linux/compiler_attributes.h:278:5: note: in expansion of macro '__has_attribute'
>  #if __has_attribute(__uninitialized__)
>      ^
> [SNIP]
>   AR      arch/x86/events/built-in.a
>   CC      arch/x86/kvm/../../../virt/kvm/kvm_main.o
> In file included from ././include/linux/compiler_types.h:65:0,
>                  from <command-line>:0:
> ./include/linux/compiler_attributes.h:29:29: error: "__GCC4_has_attribute___uninitialized__" is not defined [-Werror=undef]
>  # define __has_attribute(x) __GCC4_has_attribute_##x
>                              ^
> ./include/linux/compiler_attributes.h:278:5: note: in expansion of macro '__has_attribute'
>  #if __has_attribute(__uninitialized__)
>      ^
> cc1: all warnings being treated as errors
> make[2]: *** [scripts/Makefile.build:286: arch/x86/kvm/../../../virt/kvm/kvm_main.o] Error 1
> make[1]: *** [scripts/Makefile.build:503: arch/x86/kvm] Error 2
> make: *** [Makefile:1832: arch/x86] Error 2
> 
> Following patch fixes this. Upstream won't need this because
> newer kernels are not compilable with gcc 4.9
> 
> --- ./include/linux/compiler_attributes.h.OLD
> +++ ./include/linux/compiler_attributes.h
> @@ -37,6 +37,7 @@
>  # define __GCC4_has_attribute___nonstring__           0
>  # define __GCC4_has_attribute___no_sanitize_address__ (__GNUC_MINOR__ >= 8)
>  # define __GCC4_has_attribute___no_sanitize_undefined__ (__GNUC_MINOR__ >= 9)
> +# define __GCC4_has_attribute___uninitialized__       0
>  # define __GCC4_has_attribute___fallthrough__         0
>  # define __GCC4_has_attribute___warning__             1
>  #endif
> 
> Fixes: upstream fd7eea27a3ae "Compiler Attributes: Add __uninitialized macro"
> Signed-off-by: Jari Ruusu <jariruusu@xxxxxxxxxxxxxx>

Please submit this in a format in which we can apply it, thanks!

greg k-h




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux