From owner-svn-src-all@freebsd.org Sun Nov 19 15:29:33 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6D612D94A4F for ; Sun, 19 Nov 2017 15:29:33 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from sonic313-24.consmr.mail.ne1.yahoo.com (sonic313-24.consmr.mail.ne1.yahoo.com [66.163.185.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 317F17C7EF for ; Sun, 19 Nov 2017 15:29:32 +0000 (UTC) (envelope-from pfg@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1511105366; bh=y1gZ5L6twbFN1EfXshf8uQ1AWzJKdN4hBCRYyb45R+0=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From:Subject; b=Zu3+kcO678n+LnApiLHoc2MaQxhO7hZiih8CiY2/ituCgAyH11NBeq3iDRGLQjmgD2hF44PuAL8Wn9o6uUKO22TobSzWKu0Yv0wRW9X9IyJBJxU3emVTV9CmmM8Tanu5/GAnsr64KOY/sUJR1iqc9Zbs2pEi31aQOefX0yaR3NYM6UGB6fAdhJeoDKbX8/sXstv78hUrkLPzmR1s77jwuB+31n5b7ZGe7wa3zosAA8iEGR8CAGkZc29d3KObpcoaf23musMSOLSS7+HeavPgY0feQiK1AAdtbWqECJIt5J1gqxw7DDmSFDhQz9riCEYRaGCn7AmDT7lMdAMQCIGE2g== X-YMail-OSG: oq9vNaAVM1l5RxVeGRBFun37MlVjaHJn33LMo258nWG6vdyW3Iz2EzUAjwaGw5l ucc801deJZb9v16me79Jls442lVq3wiYzDxx2ymti0MK8PLmkgDPbA.sEM8rUvTGXXzsAwFwXxEn JIAsFD5rFrw3kBrWCdYRPoNs5FrmLTPD6wqXqlMqSZk7ohhfOd7QozBGdXURVRYkr3ZhUPmS5cxU klYb6STq1AQ8ZdWHfMmnt9CwQu35WV3WzafTwGoxQvyJSoe_2dd5aNqlhL3p_MtqR7SF7g3f9U76 e4izZvu2LzxFdI._VuW2Q9ix7UBMGCEvPQi2czCF3KQPCSAgUkyN4fKQzKQFkdddN87FB5Lg_NKi .Dl1RJktTyB7K2u2MJjyiDDnzbwTKss_hX53ohbHTm0mLjvV.73yVkZLe0_cMjKmcqXOXNx1D7BC wV7HaepnOiqixDN9G1cLeEDvf0jFkQVEfmoV6DfM_j8E5HX8KlzGGV8SozlnvMW3oytbaqmrbdzA ZLLaCEB3uz5ErH5aoHnseOnurXQYu4iD0RaZtWKVc4yXFrA-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.ne1.yahoo.com with HTTP; Sun, 19 Nov 2017 15:29:26 +0000 Received: from [127.0.0.1] by smtp209.mail.ne1.yahoo.com with NNFMP; 19 Nov 2017 15:29:21 -0000 X-Yahoo-Newman-Id: 178688.53340.bm@smtp209.mail.ne1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: oq9vNaAVM1l5RxVeGRBFun37MlVjaHJn33LMo258nWG6vdy W3Iz2EzUAjwaGw5lucc801deJZb9v16me79Jls442lVq3wiYzDxx2ymti0MK 8PLmkgDPbA.sEM8rUvTGXXzsAwFwXxEnJIAsFD5rFrw3kBrWCdYRPoNs5Frm LTPD6wqXqlMqSZk7ohhfOd7QozBGdXURVRYkr3ZhUPmS5cxUklYb6STq1AQ8 ZdWHfMmnt9CwQu35WV3WzafTwGoxQvyJSoe_2dd5aNqlhL3p_MtqR7SF7g3f 9U76e4izZvu2LzxFdI._VuW2Q9ix7UBMGCEvPQi2czCF3KQPCSAgUkyN4fKQ zKQFkdddN87FB5Lg_NKi.Dl1RJktTyB7K2u2MJjyiDDnzbwTKss_hX53ohbH Tm0mLjvV.73yVkZLe0_cMjKmcqXOXNx1D7BCwV7HaepnOiqixDN9G1cLeEDv f0jFkQVEfmoV6DfM_j8E5HX8KlzGGV8SozlnvMW3oytbaqmrbdzAZLLaCEB3 uz5ErH5aoHnseOnurXQYu4iD0RaZtWKVc4yXFrA-- X-Yahoo-SMTP: xcjD0guswBAZaPPIbxpWwLcp9Unf Subject: Re: svn commit: r325954 - in head: . share/mk sys/conf usr.sbin/config To: Bruce Evans , Warner Losh Cc: "Rodney W. Grimes" , Warner Losh , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" References: <201711180134.vAI1Y2ks064138@pdx.rh.CN85.dnsmgr.net> <20171118190422.V949@besplex.bde.org> <20171119202123.I974@besplex.bde.org> From: Pedro Giffuni Message-ID: Date: Sun, 19 Nov 2017 10:29:20 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171119202123.I974@besplex.bde.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Nov 2017 15:29:33 -0000 On 11/19/17 05:05, Bruce Evans wrote: > On Sat, 18 Nov 2017, Warner Losh wrote: > >> On Sat, Nov 18, 2017 at 3:42 AM, Bruce Evans >> wrote: >> >>> since it flags all c99 and newer usages as syntax errors. We've been >>>>>> >>>>> >>> This shouldn't break use of lint on K&R or C90 sources. But types.h is >>> broken.  It no longer supports K&R, C90, or most other things that are >>> supposed to be controlled by the visibility ifdefs in it. >> >> Thanks for this insightful analysis. I've clipped the rest of it, >> which is >> more of the same. It can't support the new C compiler construct, and >> we've >> managed to break the old ones. Plus it gives lots of warnings that >> aren't > > Lint is just the messenger (until its annotations like NOTREACHED are > also > removed).  It can support old C compiler constructs like it used to, > including pre-standard ones that new C compilers/checks might not > support. > FWIW, I don't think we should remove the LINT annotations: they are recognized by Coverity. I don't see us adding them in new code but removing them would trigger a bunch of false positives in Coverity. >> useful and doesn't understand several of the idioms we've started using >> heavily in the kernel (such as forward struct declaration). Since >> many of >> these problems are in the system kernel headers, the break all >> non-trivial >> uses of lint. >> >> None of these things are ever going to be fixed. It's quite likely the > > We are never going to fix feature test macros like _POSIX_SOURCE? Then > removing support for them would give much simpler sources. > I think the point here is that having xlint was never a step towards fixing such issues. It was also poorly maintained: I recall being the last one to look at merging changes from NetBSD, so I know how bad it was. It would be nice to have a replacement, but a quick look doesn't show anything interesting. Solaris/illumos has a lint utility but I am not sure the illumos guys find that too useful either. I guess it would be useful for upstreaming stuff to openZFS though so a port is welcome. >> kernel will never again compile on anything older than a c99 compiler. >> While we have a lot of ifdefs to attempt to support older compilers, >> it's >> almost all certainly bit-rotted from lack of use. > > The headers and libraries (non-source parts) should not be limited by the > language used to compile the kernel.  Pascal is not supported, but old > variants of C require only a small amount of code relative to new > variants, > so should remain supported. > > Kernels don't actually compile with a C99 compiler.  They need -std=gnu99 > plus lots of underscores to use extensions.  The kernel is misconfigured > with -std=isomumble:1999 -fms-extensions and only compiles because this > doesn't give strict C99 (+ ms extensions but no gnu extensions). Userland > is configured correctly with -std=gnu99. > This brings back the older discussion about being realistic and deprecating older compilers that no one uses any more. Yes, we should avoid breaking existing stuff (however old) in ports but no one is expecting to build modern FreeBSD with gcc 3.4 or even gcc 4.1. We did what we could with gcc 4.2.1 but it's time is also over. All IMHO, of course. Pedro.