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@

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;

Reply via email to