From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753087AbdK3Dja (ORCPT ); Wed, 29 Nov 2017 22:39:30 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:33330 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752950AbdK3Dj3 (ORCPT ); Wed, 29 Nov 2017 22:39:29 -0500 Date: Wed, 29 Nov 2017 19:39:27 -0800 From: Andrew Morton To: Linus Torvalds Cc: Steven Rostedt , LKML , Trond Myklebust , Anna Schumaker Subject: Re: [BUILD FAILURE] nfs4state.c fails to compile with gcc 4.5.4 Message-Id: <20171129193927.e4248d8a797b90aa03edd0ff@linux-foundation.org> In-Reply-To: References: <20171129215853.20172851@vmware.local.home> X-Mailer: Sylpheed 3.5.1 (GTK+ 2.24.31; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 29 Nov 2017 19:27:45 -0800 Linus Torvalds wrote: > On Wed, Nov 29, 2017 at 6:58 PM, Steven Rostedt wrote: > > > > Seems it can't handle the initialization of an anonymous struct within > > an anonymous union. > > I think we've seen this before, and I think there was some trick to > make it work with older gcc versions. > > Maybe the unnamed entry that gets initialized had to be declared > first, and the initializer needed an extra set of braces? > > Something like that. > > But maybe the answer is just to say "4.5.4 is really old". > > Doing some log digging gives me > > ee9d3429c0e4 ("net/sched/sch_red.c: work around gcc-4.4.4 anon > union initializer issue") > aa4bf44dc851 ("userns: use union in {g,u}idmap struct") > 6c09ffd02725 ("irqchip/gic-v4: Fix building with ancient gcc") > c848c49a62b3 ("drivers/media/cec/cec-adap.c: fix build with gcc-4.4.4") > > but they aren't necessarily _exactly_ the same issue. Yeah, I'm the world expert at working around this gcc bug but the nfs4 one had me stumped when I looked at it, so I shelved it for revisiting later. It would be nice to fix it, given that this is the only (known) site in the kernel which rules out these compiler versions.