From owner-svn-src-stable@freebsd.org Thu Apr 27 22:33:35 2017 Return-Path: Delivered-To: svn-src-stable@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 2C980D53A16; Thu, 27 Apr 2017 22:33:35 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail108.syd.optusnet.com.au (mail108.syd.optusnet.com.au [211.29.132.59]) by mx1.freebsd.org (Postfix) with ESMTP id DE966D61; Thu, 27 Apr 2017 22:33:33 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from besplex.bde.org (c122-106-153-191.carlnfd1.nsw.optusnet.com.au [122.106.153.191]) by mail108.syd.optusnet.com.au (Postfix) with ESMTPS id 54CAB1A3D9B; Fri, 28 Apr 2017 08:33:26 +1000 (AEST) Date: Fri, 28 Apr 2017 08:33:22 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Gleb Smirnoff cc: Ngie Cooper , Ed Maste , "Pedro F. Giffuni" , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-stable@freebsd.org" , "svn-src-stable-10@freebsd.org" Subject: Re: svn commit: r314937 - in stable/10/sys: fs/ext2fs modules/ext2fs In-Reply-To: <20170427221030.GL56922@FreeBSD.org> Message-ID: <20170428081746.H4303@besplex.bde.org> References: <201703090247.v292l1Ws098712@repo.freebsd.org> <20170427221030.GL56922@FreeBSD.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.2 cv=VbSHBBh9 c=1 sm=1 tr=0 a=Tj3pCpwHnMupdyZSltBt7Q==:117 a=Tj3pCpwHnMupdyZSltBt7Q==:17 a=kj9zAlcOel0A:10 a=6I5d2MoRAAAA:8 a=aQXtb6P68bEKc4GWETgA:9 a=CjuIK1q_8ugA:10 a=IjZwj45LgO3ly-622nXo:22 X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Apr 2017 22:33:35 -0000 On Thu, 27 Apr 2017, Gleb Smirnoff wrote: > On Thu, Apr 27, 2017 at 03:00:56PM -0700, Ngie Cooper wrote: > N> On Thu, Apr 27, 2017 at 1:52 PM, Ed Maste wrote: > N> > On 8 March 2017 at 21:47, Pedro F. Giffuni wrote: > N> >> Author: pfg > N> >> Date: Thu Mar 9 02:47:01 2017 > N> >> New Revision: 314937 > N> >> URL: https://svnweb.freebsd.org/changeset/base/314937 > N> >> > N> >> Log: > N> >> Revert 294545: > N> >> Bringing back ext4: add support for reading sparse files > N> > > N> > Tinderbox is broken on GCC architectures, e.g. from powerpc.LINT64: > N> > > N> > In file included from /scratch/tmp/emaste/freebsd/sys/fs/ext2fs/inode.h:46, > N> > from /scratch/tmp/emaste/freebsd/sys/fs/ext2fs/ext2_alloc.c:50: > N> > /scratch/tmp/emaste/freebsd/sys/fs/ext2fs/ext2_extents.h:91: warning: > N> > declaration does not declare anything > N> > N> ... because of anonymous unions not being supported in gcc 4.2.1. Anonymous unions have been a standard gcc feature since nearly gcc-1. > The whole kernel is built with option that enables them on 4.2.1. > > CFLAGS.gcc+= -fms-extensions This is a bad way to enable standard gcc anonymous unions. It also enables ms extensions which also gives unused extensions of standard gcc anonymous, and other even more unwanted ms features. The correct way to enable gcc features is to compile with -std=gnu99. This has been done for a long time in userland, but the has been misconfigured to use -std=c99 for a long time. This is sort of backwards -- the kernel is inherently more unportable and can't possible be compiled by a C99 compiler, while parts of userland can. However, userland is larger, so people setting excessive -std flags soon found that -std=c99 doesn't work. With no -std flag, gcc defaults to something like -std=gnu89, so it supports its old anonymous unions feature but not the many C99 features needed to compile almost anything now. Bruce