From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Ellerman Subject: Re: [PATCH kernel] vfio-pci/nvlink2: Fix ancient gcc warnings Date: Thu, 24 Jan 2019 10:08:37 +1100 Message-ID: <878szbx98q.fsf@concordia.ellerman.id.au> References: <20190123040711.21759-1-aik@ozlabs.ru> <20190122213043.051d7739@x1.home> Mime-Version: 1.0 Content-Type: text/plain Cc: Alexey Kardashevskiy , linuxppc-dev , KVM list , "linux-kernel\@vger.kernel.org" , Arnd Bergmann To: Geert Uytterhoeven , Alex Williamson Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Geert Uytterhoeven writes: > Hi Alex, > > On Wed, Jan 23, 2019 at 5:30 AM Alex Williamson > wrote: >> The below patch comes about from the build regressions and improvements >> list you've sent out, but something doesn't add up that we'd be testing >> with an old compiler where initialization with { 0 } generates a >> "missing braces around initialization" warning. Is this really the >> case or are we missing something here? There's no harm that I can see >> with Alexey's fix, but are these really just false positives from a >> compiler bug that we should selectively ignore if the "fix" is less >> clean? Thanks, > > Yes, they are false positives, AFAIK. > >> On Wed, 23 Jan 2019 15:07:11 +1100 >> Alexey Kardashevskiy wrote: >> >> > Using the {0} construct as a generic initializer is perfectly fine in C, >> > however due to a bug in old gcc there is a warning: >> > >> > + /kisskb/src/drivers/vfio/pci/vfio_pci_nvlink2.c: warning: (near >> > initialization for 'cap.header') [-Wmissing-braces]: => 181:9 > > These all seem to come from an old gcc 4.6, which is the oldest still > supported version for compiling Linux > http://kisskb.ellerman.id.au/kisskb/buildresult/13663641/ > > Note that kisskb is also using gcc 4.6.3 for s390x and mips, which are the only > other builds showing missing braces warnings. As documented here: https://www.kernel.org/doc/html/latest/process/changes.html#current-minimal-requirements x86 has effectively dropped support for 4.6 because it doesn't support retpoline and CONFIG_RETPOLINE is default y. So it might be time to stop supporting 4.6, but I'd rather that happened by someone sending a patch to change the requirements doc above, and then kisskb can stop doing the builds with 4.6. cheers