> Date: Fri, 26 Nov 2021 16:32:59 +1100 > From: Jonathan Gray <j...@jsg.id.au> > > 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. > > After visa's recent commit the remaining warnings are > > [-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@
ok kettenis@ > 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; > >