Warnings when compiling kernel
freebsd-doc at fjl.co.uk
freebsd-doc at fjl.co.uk
Wed Feb 3 22:36:30 UTC 2021
On 31/01/2021 21:22, Roderick wrote:
>
> Are they normal?
>
> """""""""""""""""""""""""""""""""""""
> cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall
> -Wredundant-decls -Wnested-externs -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef
> -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs
> -fdiagnostics-show-option -Wno-error-tautological-compare
> -Wno-error-empty-body -Wno-error-parentheses-equality
> -Wno-error-unused-function -nostdinc -I. -I/usr/src/sys
> -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/libfdt -D_KERNEL
> -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -mno-aes -mno-avx
> -mno-mmx -mno-sse -msoft-float -ffreestanding -fstack-protector
> -Werror /usr/src/sys/kern/kern_cpuset.c
> /usr/src/sys/kern/kern_cpuset.c:637:16: warning: comparison of unsigned
> expression < 0 is always false [-Wtautological-compare]
> for (i = 0; i < (_NCPUWORDS - 1); i++) {
> ~ ^ ~~~~~~~~~~~~~~~~
> 1 warning generated.
>
Compiler warnings are normal, but I'd rather they weren't there myself.
I wish I knew which file generated the error (it's not from any of the
kernels I have loaded), and which CPU was the target, as I can't be sure
what happens next. However, _NCPUWORDS can quite easily be 1, which
means the for() loop will never be executed on some CPUs. One would hope
the optimiser would remove it completely if this was the case, and this
may have been the intention.
Regards, Frank.
More information about the freebsd-questions
mailing list