From owner-freebsd-current@FreeBSD.ORG Tue Nov 6 14:15:02 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C5FA4304 for ; Tue, 6 Nov 2012 14:15:02 +0000 (UTC) (envelope-from zeising@daemonic.se) Received: from mail.lysator.liu.se (mail.lysator.liu.se [IPv6:2001:6b0:17:f0a0::3]) by mx1.freebsd.org (Postfix) with ESMTP id 601A68FC0A for ; Tue, 6 Nov 2012 14:15:02 +0000 (UTC) Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id A9FD340007 for ; Tue, 6 Nov 2012 15:15:01 +0100 (CET) Received: by mail.lysator.liu.se (Postfix, from userid 1004) id 9962240008; Tue, 6 Nov 2012 15:15:01 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on bernadotte.lysator.liu.se X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=AWL autolearn=disabled version=3.3.1 X-Spam-Score: 0.0 Received: from mx.daemonic.se (h-45-105.a163.priv.bahnhof.se [94.254.45.105]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id 1059240007; Tue, 6 Nov 2012 15:15:00 +0100 (CET) Received: from mailscanner.daemonic.se (mailscanner.daemonic.se [IPv6:2001:470:dca9:0:1::6]) by mx.daemonic.se (Postfix) with ESMTPS id 3Xwt7R6YVWz8hVn; Tue, 6 Nov 2012 15:14:59 +0100 (CET) X-Virus-Scanned: amavisd-new at daemonic.se Received: from mx.daemonic.se ([IPv6:2001:470:dca9:0:1::3]) (using TLS with cipher CAMELLIA256-SHA) by mailscanner.daemonic.se (mailscanner.daemonic.se [IPv6:2001:470:dca9:0:1::6]) (amavisd-new, port 10025) with ESMTPS id BX4uGpdhaY7r; Tue, 6 Nov 2012 15:14:54 +0100 (CET) Received: from mail.daemonic.se (mail.daemonic.se [10.1.0.4]) by mx.daemonic.se (Postfix) with ESMTPS id 3Xwt7L0CqDz8hVm; Tue, 6 Nov 2012 15:14:54 +0100 (CET) Received: from tifa.daemonic.se (tifa.daemonic.se [10.32.0.6]) by mail.daemonic.se (Postfix) with ESMTPSA id 3Xwt7K727Gz9Ctj; Tue, 6 Nov 2012 15:14:53 +0100 (CET) Received: from tifa.daemonic.se (localhost [IPv6:::1]) by tifa.daemonic.se (Postfix) with ESMTP id 206F8228F2; Tue, 6 Nov 2012 15:14:32 +0100 (CET) Message-ID: <50991B47.2060409@daemonic.se> Date: Tue, 06 Nov 2012 15:14:31 +0100 From: Niclas Zeising User-Agent: Mutt/1.5.21 MIME-Version: 1.0 To: Larry Rosenman Subject: Re: lsof vs. clang References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Mailman-Approved-At: Tue, 06 Nov 2012 16:23:31 +0000 Cc: freebsd-current@freebsd.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Nov 2012 14:15:02 -0000 On 11/06/12 14:42, Larry Rosenman wrote: > It appears that we've (mostly) cleaned up the clang/system interface > such that sysutils/lsof works with cc as clang. > > Can someone tell me what we need to do to shut these up? > > > # LSOFCC=cc CC=cc make LSOFCC=cc CC=cc > ===> lsof-4.87.a,7 depends on file: /usr/local/sbin/pkg - found > ===> Extracting for lsof-4.87.a,7 > => SHA256 Checksum OK for lsof_4.87A.freebsd.tar.bz2. > ===> Patching for lsof-4.87.a,7 > ===> Configuring for lsof-4.87.a,7 > Creating ./lockf_owner.h from /usr/src/sys/kern/kern_lockf.c > ./lockf_owner.h creation succeeded. > rm -f ddev.c dfile.c dlsof.h dmnt.c dnode*.c dproc.c dproto.h dsock.c > dstore.c dzfs.h kernelbase.h machine.h machine.h.old new_machine.h > __lseek.s Makefile Makefile.zfs ./tests/config.cflags > rm -f ./tests/config.cc ./tests/config.xobj ./tests/config.ldflags > Testing C library for localtime() and strftime(), using cc ... present > ln -s dialects/freebsd/dlsof.h dlsof.h > ln -s dialects/freebsd/dmnt.c dmnt.c > ln -s dialects/freebsd/dnode.c dnode.c > ln -s dialects/freebsd/dnode1.c dnode1.c > ln -s dialects/freebsd/dnode2.c dnode2.c > ln -s dialects/freebsd/dproc.c dproc.c > ln -s dialects/freebsd/dproto.h dproto.h > ln -s dialects/freebsd/dsock.c dsock.c > ln -s dialects/freebsd/dstore.c dstore.c > ln -s dialects/freebsd/dzfs.h dzfs.h > ln -s dialects/freebsd/machine.h machine.h > Makefile and lib/Makefile created. > Makefile.zfs created. > ./tests/config.cc created > ./tests/config.cflags created > ./tests/config.ldflags created > ./tests/config.xobj created > ===> Building for lsof-4.87.a,7 > (cd lib; make DEBUG="-O2" CFGF="-pipe -fno-omit-frame-pointer > -fno-strict-aliasing -fno-omit-frame-pointer -DHASEFFNLINK=i_effnlink > -DHASF_VNODE -DHASSBSTATE -DHAS_KVM_VNODE -DHAS_UFS1_2 > -DHAS_VM_MEMATTR_T -DHAS_CDEV2PRIV -DHAS_NO_SI_UDEV -DHAS_SYS_SX_H > -DHAS_ZFS -DHAS_V_LOCKF -DHAS_LOCKF_ENTRY -DHAS_NO_6PORT -DHAS_NO_6PPCB > -DNEEDS_BOOLEAN_T -DFREEBSDV=10000 -DHASFDESCFS=2 -DHASPSEUDOFS > -DHASNULLFS -DHASIPv6 -DHASUTMPX -DHAS_STRFTIME > -DLSOF_VSTR=\"10.0-CURRENT\"") > cc -pipe -fno-omit-frame-pointer -fno-strict-aliasing > -fno-omit-frame-pointer -DHASEFFNLINK=i_effnlink -DHASF_VNODE > -DHASSBSTATE -DHAS_KVM_VNODE -DHAS_UFS1_2 -DHAS_VM_MEMATTR_T > -DHAS_CDEV2PRIV -DHAS_NO_SI_UDEV -DHAS_SYS_SX_H -DHAS_ZFS -DHAS_V_LOCKF > -DHAS_LOCKF_ENTRY -DHAS_NO_6PORT -DHAS_NO_6PPCB -DNEEDS_BOOLEAN_T > -DFREEBSDV=10000 -DHASFDESCFS=2 -DHASPSEUDOFS -DHASNULLFS -DHASIPv6 > -DHASUTMPX -DHAS_STRFTIME -DLSOF_VSTR="10.0-CURRENT" -I/usr/src/sys -O2 > -c ckkv.c > In file included from ckkv.c:43: > In file included from ./../lsof.h:195: > In file included from ./../dlsof.h:190: > In file included from /usr/src/sys/ufs/ufs/ufsmount.h:36: > /usr/src/sys/sys/buf.h:392:2: warning: implicit declaration of function > 'KASSERT' is invalid in C99 [-Wimplicit-function-declaration] > KASSERT(bp->b_bufobj != NULL, ("bwrite: no bufobj bp=%p", bp)); > ^ As this hints on, KASSERT is undeclared. You should either declare KASSERT manually or include the proper header file. With that said, KASSERT look very much like kernel code, and should probably not be used in userland utilities at all, but I am no expert on this. > /usr/src/sys/sys/buf.h:392:33: warning: expression result unused > [-Wunused-value] > KASSERT(bp->b_bufobj != NULL, ("bwrite: no bufobj bp=%p", bp)); > ^~~~~~~~~~~~~~~~~~~~~~~~~ > /usr/src/sys/sys/buf.h:393:41: warning: expression result unused > [-Wunused-value] > KASSERT(bp->b_bufobj->bo_ops != NULL, ("bwrite: no bo_ops bp=%p", bp)); > ^~~~~~~~~~~~~~~~~~~~~~~~~ > /usr/src/sys/sys/buf.h:395:7: warning: expression result unused > [-Wunused-value] > ("bwrite: no bop_write bp=%p", bp)); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /usr/src/sys/sys/buf.h:403:33: warning: expression result unused > [-Wunused-value] > KASSERT(bp->b_bufobj != NULL, ("bstrategy: no bufobj bp=%p", bp)); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /usr/src/sys/sys/buf.h:405:7: warning: expression result unused > [-Wunused-value] > ("bstrategy: no bo_ops bp=%p", bp)); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /usr/src/sys/sys/buf.h:407:7: warning: expression result unused > [-Wunused-value] > ("bstrategy: no bop_strategy bp=%p", bp)); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 7 warnings generated. The rest of the warnings are probably follow-up warnings since clang doesn't know the function prototype for KASSERT. Regards! -- Niclas Zeising