On Fri, Nov 26, 2021 at 05:41:20PM +0100, Jan Stary wrote: > > > Stop building the kernel with -Wno-uninitialized on clang archs. > > > This hides real problems like the recently fixed uninitialised memory > > > use in pf and igc. > > > > > > [-Wsometimes-uninitialized] /sys/arch/arm/arm/cpu.c:352:6: warning: > > > variable 'ci' is used uninitialized whenever 'if' condition is false > > > [-Wsometimes-uninitialized] /sys/arch/arm64/arm64/cpu.c:613:6: warning: > > > variable 'ci' is used uninitialized whenever 'if' condition is false > > > [-Wsometimes-uninitialized] /sys/arch/riscv64/riscv64/cpu.c:169:6: > > > warning: variable 'ci' is used uninitialized whenever 'if' condition is > > > false > > > [-Wsometimes-uninitialized] > > > /tmp/src/sys/arch/powerpc/powerpc/trap.c:467:7: error: variable 'offset' > > > is used uninitialized whenever 'if' condition is false > > > [-Wuninitialized] /sys/arch/arm64/dev/acpiiort.c:174:28: warning: > > > variable 'rid' is uninitialized when used here > > > > > > cpu.c warnings occur with MULTIPROCESSOR not defined > > > powerpc trap.c occurs with DDB not defined > > > > > > patch to address these and remove the flag below > > > acpiiort part from patrick@ > > On each of the following platforms, the kernel builds fine for me > with this patch and the compilation shows none of the above warnings. > > i386 (ALIX.1E) > amd64 (Thinkpad T400) > arm64 (Raspberry Pi 3 and 4) > armv7 (BeagleBone Black) > macppc (Mac Mini 7447A)
thanks, committed with the i386 part changed to not remove -Werror > > > Jan > > > > Index: arch/amd64/conf/Makefile.amd64 > > > =================================================================== > > > RCS file: /cvs/src/sys/arch/amd64/conf/Makefile.amd64,v > > > retrieving revision 1.121 > > > diff -u -p -r1.121 Makefile.amd64 > > > --- arch/amd64/conf/Makefile.amd64 12 Jul 2021 06:07:33 -0000 > > > 1.121 > > > +++ arch/amd64/conf/Makefile.amd64 26 Nov 2021 04:54:10 -0000 > > > @@ -48,7 +48,7 @@ INCLUDES= -nostdinc -I$S -I${.OBJDIR} -I > > > CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -MD -MP \ > > > -DCONFIG_DRM_AMD_DC_DCN3_0 > > > CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \ > > > - -Wno-uninitialized -Wno-pointer-sign \ > > > + -Wno-pointer-sign \ > > > -Wframe-larger-than=2047 > > > > > > CMACHFLAGS= -mcmodel=kernel -mno-red-zone -mno-sse2 -mno-sse > > > -mno-3dnow \ > > > Index: arch/arm/arm/cpu.c > > > =================================================================== > > > RCS file: /cvs/src/sys/arch/arm/arm/cpu.c,v > > > retrieving revision 1.55 > > > diff -u -p -r1.55 cpu.c > > > --- arch/arm/arm/cpu.c 25 Mar 2021 04:12:00 -0000 1.55 > > > +++ arch/arm/arm/cpu.c 23 Nov 2021 00:19:43 -0000 > > > @@ -349,14 +349,11 @@ cpu_attach(struct device *parent, struct > > > __asm volatile("mrc p15, 0, %0, c0, c0, 5" : "=r"(mpidr)); > > > KASSERT(faa->fa_nreg > 0); > > > > > > +#ifdef MULTIPROCESSOR > > > if (faa->fa_reg[0].addr == (mpidr & MPIDR_AFF)) { > > > ci = &cpu_info_primary; > > > -#ifdef MULTIPROCESSOR > > > ci->ci_flags |= CPUF_RUNNING | CPUF_PRESENT | CPUF_PRIMARY; > > > -#endif > > > - } > > > -#ifdef MULTIPROCESSOR > > > - else { > > > + } else { > > > ci = malloc(sizeof(*ci), M_DEVBUF, M_WAITOK | M_ZERO); > > > cpu_info[dev->dv_unit] = ci; > > > ci->ci_next = cpu_info_list->ci_next; > > > @@ -364,6 +361,8 @@ cpu_attach(struct device *parent, struct > > > ci->ci_flags |= CPUF_AP; > > > ncpus++; > > > } > > > +#else > > > + ci = &cpu_info_primary; > > > #endif > > > > > > ci->ci_dev = dev; > > > Index: arch/arm64/arm64/cpu.c > > > =================================================================== > > > RCS file: /cvs/src/sys/arch/arm64/arm64/cpu.c,v > > > retrieving revision 1.58 > > > diff -u -p -r1.58 cpu.c > > > --- arch/arm64/arm64/cpu.c 23 Nov 2021 01:03:35 -0000 1.58 > > > +++ arch/arm64/arm64/cpu.c 23 Nov 2021 01:28:26 -0000 > > > @@ -604,20 +604,19 @@ cpu_attach(struct device *parent, struct > > > { > > > struct fdt_attach_args *faa = aux; > > > struct cpu_info *ci; > > > +#ifdef MULTIPROCESSOR > > > uint64_t mpidr = READ_SPECIALREG(mpidr_el1); > > > +#endif > > > uint64_t id_aa64mmfr1, sctlr; > > > uint32_t opp; > > > > > > KASSERT(faa->fa_nreg > 0); > > > > > > +#ifdef MULTIPROCESSOR > > > if (faa->fa_reg[0].addr == (mpidr & MPIDR_AFF)) { > > > ci = &cpu_info_primary; > > > -#ifdef MULTIPROCESSOR > > > ci->ci_flags |= CPUF_RUNNING | CPUF_PRESENT | CPUF_PRIMARY; > > > -#endif > > > - } > > > -#ifdef MULTIPROCESSOR > > > - else { > > > + } else { > > > ci = malloc(sizeof(*ci), M_DEVBUF, M_WAITOK | M_ZERO); > > > cpu_info[dev->dv_unit] = ci; > > > ci->ci_next = cpu_info_list->ci_next; > > > @@ -625,6 +624,8 @@ cpu_attach(struct device *parent, struct > > > ci->ci_flags |= CPUF_AP; > > > ncpus++; > > > } > > > +#else > > > + ci = &cpu_info_primary; > > > #endif > > > > > > ci->ci_dev = dev; > > > Index: arch/arm64/conf/Makefile.arm64 > > > =================================================================== > > > RCS file: /cvs/src/sys/arch/arm64/conf/Makefile.arm64,v > > > retrieving revision 1.39 > > > diff -u -p -r1.39 Makefile.arm64 > > > --- arch/arm64/conf/Makefile.arm64 7 Jul 2021 02:38:21 -0000 > > > 1.39 > > > +++ arch/arm64/conf/Makefile.arm64 26 Nov 2021 04:55:52 -0000 > > > @@ -46,7 +46,7 @@ INCLUDES= -nostdinc -I$S -I${.OBJDIR} -I > > > -I$S/dev/pci/drm/amd/display/dmub/inc > > > CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ > > > -MD -MP > > > CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \ > > > - -Wno-uninitialized -Wno-pointer-sign \ > > > + -Wno-pointer-sign \ > > > -Wno-constant-conversion -Wno-address-of-packed-member \ > > > -Wframe-larger-than=2047 > > > > > > Index: arch/arm64/dev/acpiiort.c > > > =================================================================== > > > RCS file: /cvs/src/sys/arch/arm64/dev/acpiiort.c,v > > > retrieving revision 1.4 > > > diff -u -p -r1.4 acpiiort.c > > > --- arch/arm64/dev/acpiiort.c 25 Jun 2021 17:41:22 -0000 1.4 > > > +++ arch/arm64/dev/acpiiort.c 26 Nov 2021 05:02:21 -0000 > > > @@ -169,13 +169,6 @@ acpiiort_device_map(struct aml_node *roo > > > rid = map[i].output_base; > > > break; > > > } > > > - > > > - /* Mapping encodes number of IDs in the range minus one. */ > > > - if (map[i].input_base <= rid && > > > - rid <= map[i].input_base + map[i].number_of_ids) { > > > - rid = map[i].output_base + (rid - map[i].input_base); > > > - break; > > > - } > > > } > > > > > > /* No mapping found? Even weirder. */ > > > Index: arch/armv7/conf/Makefile.armv7 > > > =================================================================== > > > RCS file: /cvs/src/sys/arch/armv7/conf/Makefile.armv7,v > > > retrieving revision 1.50 > > > diff -u -p -r1.50 Makefile.armv7 > > > --- arch/armv7/conf/Makefile.armv7 16 May 2021 02:01:33 -0000 > > > 1.50 > > > +++ arch/armv7/conf/Makefile.armv7 26 Nov 2021 04:55:07 -0000 > > > @@ -24,7 +24,7 @@ _archdir?= $S/arch/${_arch} > > > INCLUDES= -nostdinc -I$S -I. -I$S/arch > > > CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ > > > -MD -MP > > > CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \ > > > - -Wno-uninitialized -Wno-pointer-sign \ > > > + -Wno-pointer-sign \ > > > -Wno-constant-conversion -Wno-address-of-packed-member \ > > > -Wframe-larger-than=2047 > > > > > > Index: arch/i386/conf/Makefile.i386 > > > =================================================================== > > > RCS file: /cvs/src/sys/arch/i386/conf/Makefile.i386,v > > > retrieving revision 1.140 > > > diff -u -p -r1.140 Makefile.i386 > > > --- arch/i386/conf/Makefile.i386 28 Jan 2021 17:39:03 -0000 1.140 > > > +++ arch/i386/conf/Makefile.i386 26 Nov 2021 04:56:08 -0000 > > > @@ -26,8 +26,8 @@ INCLUDES= -nostdinc -I$S -I${.OBJDIR} -I > > > -I$S/dev/pci/drm/include/uapi \ > > > -I$S/dev/pci/drm/i915 > > > CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -MD -MP > > > -CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \ > > > - -Wno-uninitialized -Wno-pointer-sign \ > > > +CWARNFLAGS= -Wall -Wimplicit-function-declaration \ > > > + -Wno-pointer-sign \ > > > -Wframe-larger-than=2047 > > > > > > CMACHFLAGS= > > > Index: arch/loongson/conf/Makefile.loongson > > > =================================================================== > > > RCS file: /cvs/src/sys/arch/loongson/conf/Makefile.loongson,v > > > retrieving revision 1.80 > > > diff -u -p -r1.80 Makefile.loongson > > > --- arch/loongson/conf/Makefile.loongson 28 Jan 2021 17:39:03 -0000 > > > 1.80 > > > +++ arch/loongson/conf/Makefile.loongson 26 Nov 2021 04:57:20 -0000 > > > @@ -33,7 +33,7 @@ INCLUDES= -nostdinc -I$S -I${.OBJDIR} -I > > > -I$S/dev/pci/drm/include/uapi > > > CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ > > > -MD -MP > > > CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \ > > > - -Wno-uninitialized -Wno-pointer-sign \ > > > + -Wno-pointer-sign \ > > > -Wframe-larger-than=2047 > > > > > > CMACHFLAGS= -mno-abicalls ${ABI} -msoft-float > > > -Wa,-mfix-loongson2f-btb -G 0 > > > Index: arch/macppc/conf/Makefile.macppc > > > =================================================================== > > > RCS file: /cvs/src/sys/arch/macppc/conf/Makefile.macppc,v > > > retrieving revision 1.102 > > > diff -u -p -r1.102 Makefile.macppc > > > --- arch/macppc/conf/Makefile.macppc 10 May 2021 17:29:41 -0000 > > > 1.102 > > > +++ arch/macppc/conf/Makefile.macppc 26 Nov 2021 04:58:37 -0000 > > > @@ -26,7 +26,7 @@ INCLUDES= -nostdinc -I$S -I${.OBJDIR} -I > > > -I$S/dev/pci/drm/include/uapi > > > CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ > > > -MD -MP > > > CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \ > > > - -Wno-main -Wno-uninitialized -Wno-pointer-sign \ > > > + -Wno-main -Wno-pointer-sign \ > > > -Wframe-larger-than=2047 > > > > > > CMACHFLAGS= -msoft-float > > > Index: arch/octeon/conf/Makefile.octeon > > > =================================================================== > > > RCS file: /cvs/src/sys/arch/octeon/conf/Makefile.octeon,v > > > retrieving revision 1.58 > > > diff -u -p -r1.58 Makefile.octeon > > > --- arch/octeon/conf/Makefile.octeon 6 Feb 2021 09:31:47 -0000 > > > 1.58 > > > +++ arch/octeon/conf/Makefile.octeon 26 Nov 2021 04:57:30 -0000 > > > @@ -31,7 +31,7 @@ _archdir?= $S/arch/${_arch} > > > INCLUDES= -nostdinc -I$S -I${.OBJDIR} -I$S/arch > > > CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ > > > -MD -MP > > > CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \ > > > - -Wno-uninitialized -Wno-pointer-sign \ > > > + -Wno-pointer-sign \ > > > -Wframe-larger-than=2047 > > > > > > CMACHFLAGS= -mno-abicalls ${ABI} -msoft-float -G 0 > > > Index: arch/powerpc/powerpc/trap.c > > > =================================================================== > > > RCS file: /cvs/src/sys/arch/powerpc/powerpc/trap.c,v > > > retrieving revision 1.121 > > > diff -u -p -r1.121 trap.c > > > --- arch/powerpc/powerpc/trap.c 20 May 2021 12:34:35 -0000 1.121 > > > +++ arch/powerpc/powerpc/trap.c 23 Nov 2021 00:42:09 -0000 > > > @@ -461,13 +461,14 @@ brain_damage: > > > /* set up registers */ > > > db_save_regs(frame); > > > db_find_sym_and_offset(frame->srr0, &name, &offset); > > > -#else > > > - name = NULL; > > > -#endif > > > if (!name) { > > > name = "0"; > > > offset = frame->srr0; > > > } > > > +#else > > > + name = "0"; > > > + offset = frame->srr0; > > > +#endif > > > panic("trap type %x srr1 %x at %x (%s+0x%lx) lr %lx", > > > type, frame->srr1, frame->srr0, name, offset, frame->lr); > > > > > > Index: arch/powerpc64/conf/Makefile.powerpc64 > > > =================================================================== > > > RCS file: /cvs/src/sys/arch/powerpc64/conf/Makefile.powerpc64,v > > > retrieving revision 1.10 > > > diff -u -p -r1.10 Makefile.powerpc64 > > > --- arch/powerpc64/conf/Makefile.powerpc64 7 Jul 2021 02:38:21 > > > -0000 1.10 > > > +++ arch/powerpc64/conf/Makefile.powerpc64 26 Nov 2021 04:59:19 > > > -0000 > > > @@ -46,7 +46,7 @@ INCLUDES= -nostdinc -I$S -I${.OBJDIR} -I > > > -I$S/dev/pci/drm/amd/display/dmub/inc > > > CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -MD -MP > > > CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \ > > > - -Wno-uninitialized -Wno-pointer-sign \ > > > + -Wno-pointer-sign \ > > > -Wno-constant-conversion -Wno-address-of-packed-member \ > > > -Wframe-larger-than=2047 > > > > > > Index: arch/riscv64/conf/Makefile.riscv64 > > > =================================================================== > > > RCS file: /cvs/src/sys/arch/riscv64/conf/Makefile.riscv64,v > > > retrieving revision 1.12 > > > diff -u -p -r1.12 Makefile.riscv64 > > > --- arch/riscv64/conf/Makefile.riscv64 29 Jun 2021 18:45:41 -0000 > > > 1.12 > > > +++ arch/riscv64/conf/Makefile.riscv64 26 Nov 2021 04:59:28 -0000 > > > @@ -26,7 +26,7 @@ INCLUDES= -nostdinc -I$S -I${.OBJDIR} -I > > > -I$S/dev/pci/drm/include/uapi > > > CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ > > > -MD -MP > > > CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \ > > > - -Wno-uninitialized -Wno-pointer-sign \ > > > + -Wno-pointer-sign \ > > > -Wno-constant-conversion -Wno-address-of-packed-member \ > > > -Wframe-larger-than=2047 > > > > > > Index: arch/riscv64/riscv64/cpu.c > > > =================================================================== > > > RCS file: /cvs/src/sys/arch/riscv64/riscv64/cpu.c,v > > > retrieving revision 1.11 > > > diff -u -p -r1.11 cpu.c > > > --- arch/riscv64/riscv64/cpu.c 24 Jul 2021 18:15:13 -0000 1.11 > > > +++ arch/riscv64/riscv64/cpu.c 23 Nov 2021 00:21:26 -0000 > > > @@ -166,15 +166,12 @@ cpu_attach(struct device *parent, struct > > > > > > KASSERT(faa->fa_nreg > 0); > > > > > > +#ifdef MULTIPROCESSOR > > > if (faa->fa_reg[0].addr == boot_hart) { > > > ci = &cpu_info_primary; > > > -#ifdef MULTIPROCESSOR > > > ci->ci_flags |= CPUF_RUNNING | CPUF_PRESENT | CPUF_PRIMARY; > > > csr_set(sie, SIE_SSIE); > > > -#endif > > > - } > > > -#ifdef MULTIPROCESSOR > > > - else { > > > + } else { > > > ci = malloc(sizeof(*ci), M_DEVBUF, M_WAITOK | M_ZERO); > > > cpu_info[dev->dv_unit] = ci; > > > ci->ci_next = cpu_info_list->ci_next; > > > @@ -182,6 +179,8 @@ cpu_attach(struct device *parent, struct > > > ci->ci_flags |= CPUF_AP; > > > ncpus++; > > > } > > > +#else > > > + ci = &cpu_info_primary; > > > #endif > > > > > > ci->ci_dev = dev; > > > > > > > > > > > >