Re: git: 8b83d7e0ee54 - main - Make -Wunused-but-set-variable a fatal error for clang 13+ for kernel builds.
- Reply: Stefan Esser : "Re: git: 8b83d7e0ee54 - main - Make -Wunused-but-set-variable a fatal error for clang 13+ for kernel builds."
- Reply: John Baldwin : "Re: git: 8b83d7e0ee54 - main - Make -Wunused-but-set-variable a fatal error for clang 13+ for kernel builds."
- In reply to: Mateusz Guzik : "Re: git: 8b83d7e0ee54 - main - Make -Wunused-but-set-variable a fatal error for clang 13+ for kernel builds."
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 19 Apr 2022 12:47:35 UTC
As of 19447fc4888379e539dfca7e4c62362d6c279357 the amd64 kernel + modules build without with a config with these options removed: diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index 53c6043a0146..98b4be69dc94 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -69,43 +69,14 @@ options COMPAT_FREEBSD11 # Compatible with FreeBSD11 options COMPAT_FREEBSD12 # Compatible with FreeBSD12 options COMPAT_FREEBSD13 # Compatible with FreeBSD13 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI -options KTRACE # ktrace(1) support -options STACK # stack(9) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev -options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) -options AUDIT # Security event auditing -options CAPABILITY_MODE # Capsicum capability mode -options CAPABILITIES # Capsicum capabilities -options MAC # TrustedBSD MAC Framework -options KDTRACE_FRAME # Ensure frames are compiled in -options KDTRACE_HOOKS # Kernel DTrace hooks -options DDB_CTF # Kernel ELF linker loads CTF data options INCLUDE_CONFIG_FILE # Include this file in kernel -options RACCT # Resource accounting framework -options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default -options RCTL # Resource limits - -# Debugging support. Always need this: -options KDB # Enable kernel debugger support. -options KDB_TRACE # Print a stack trace for a panic. -# For full debugger support use (turn off in stable branch): -options BUF_TRACKING # Track buffer history -options DDB # Support DDB. -options FULL_BUF_TRACKING # Track more buffer history -options GDB # Support remote GDB. -options DEADLKRES # Enable the deadlock resolver -options INVARIANTS # Enable calls of extra sanity checking -options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS -options QUEUE_MACRO_DEBUG_TRASH # Trash queue(2) internal pointers on invalidation -options WITNESS # Enable checks to detect deadlocks and cycles -options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed -options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones -options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default On 4/19/22, Mateusz Guzik <mjguzik@gmail.com> wrote: > Looks like this needs a pass on a kernel without AUDIT, MAC, > CAPABILITIES, dtrace and probably some other default stuff which also > happens to be enabled in all kernel built with tinderbox. > > On 4/19/22, Stefan Esser <se@freebsd.org> wrote: >> Am 19.04.22 um 01:11 schrieb John Baldwin: >>> The branch main has been updated by jhb: >>> >>> URL: >>> https://cgit.FreeBSD.org/src/commit/?id=8b83d7e0ee54416b0ee58bd85f9c0ae7fb3357a1 >>> >>> commit 8b83d7e0ee54416b0ee58bd85f9c0ae7fb3357a1 >>> Author: John Baldwin <jhb@FreeBSD.org> >>> AuthorDate: 2022-04-18 23:06:27 +0000 >>> Commit: John Baldwin <jhb@FreeBSD.org> >>> CommitDate: 2022-04-18 23:06:27 +0000 >>> >>> Make -Wunused-but-set-variable a fatal error for clang 13+ for >>> kernel >>> builds. >>> >>> Reviewed by: imp, emaste >>> Differential Revision: https://reviews.freebsd.org/D34949 >> >> I'm seeing kernel build issues in several drivers (at commit >> f2edc9155721). >> >> The first one could be fixed this way: >> >> diff --git a/sys/dev/cxgbe/tom/t4_cpl_io.c >> b/sys/dev/cxgbe/tom/t4_cpl_io.c >> index 4c8b1fa27579..470f03313b72 100644 >> --- a/sys/dev/cxgbe/tom/t4_cpl_io.c >> +++ b/sys/dev/cxgbe/tom/t4_cpl_io.c >> @@ -2192,7 +2192,7 @@ static void >> t4_aiotx_process_job(struct toepcb *toep, struct socket *so, struct >> kaiocb >> *job) >> { >> struct sockbuf *sb; >> +#ifdef MAC >> struct file *fp; >> +#endif >> struct inpcb *inp; >> struct tcpcb *tp; >> struct mbuf *m; >> @@ -2201,10 +2201,10 @@ t4_aiotx_process_job(struct toepcb *toep, struct >> socket >> *so, struct kaiocb *job) >> >> sb = &so->so_snd; >> SOCKBUF_UNLOCK(sb); >> - fp = job->fd_file; >> m = NULL; >> >> #ifdef MAC >> + fp = job->fd_file; >> error = mac_socket_check_send(fp->f_cred, so); >> if (error != 0) >> goto out; >> >> But then the build failed again at: >> >> /usr/src/sys/fs/ext2fs/ext2_extents.c:452:8: error: variable 'error_msg' >> set >> but not used [-Werror,-Wunused-but-set-variable] >> Building /usr/obj/usr-14/git/src/amd64.amd64/sys/SE/vdev_mirror.o >> >> I have stopped trying to fix this and (any remaining) issues and have >> locally reverted the commit that made this warning fatal ... >> >> Regards, STefan >> > > > -- > Mateusz Guzik <mjguzik gmail.com> > -- Mateusz Guzik <mjguzik gmail.com>