From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932515AbcI1NEH (ORCPT ); Wed, 28 Sep 2016 09:04:07 -0400 Received: from mail-lf0-f65.google.com ([209.85.215.65]:36461 "EHLO mail-lf0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932124AbcI1NEA (ORCPT ); Wed, 28 Sep 2016 09:04:00 -0400 Date: Wed, 28 Sep 2016 16:03:57 +0300 From: Cyrill Gorcunov To: Eric Dumazet Cc: Jamal Hadi Salim , David Ahern , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, David Miller , kuznet@ms2.inr.ac.ru, jmorris@namei.org, yoshfuji@linux-ipv6.org, kaber@trash.net, avagin@openvz.org, stephen@networkplumber.org Subject: Re: [PATCH v5] net: ip, diag -- Add diag interface for raw sockets Message-ID: <20160928130357.GC1876@uranus.lan> References: <20160928090357.GT1876@uranus.lan> <20160928101726.GU1876@uranus.lan> <8293413c-a81d-f7ff-24f0-8f58ce877116@mojatatu.com> <20160928105147.GV1876@uranus.lan> <484dedaf-4e81-9a5a-ffb8-2c65b373c3a0@mojatatu.com> <20160928112703.GW1876@uranus.lan> <1475067432.28155.90.camel@edumazet-glaptop3.roam.corp.google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1475067432.28155.90.camel@edumazet-glaptop3.roam.corp.google.com> User-Agent: Mutt/1.7.0 (2016-08-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Sep 28, 2016 at 05:57:12AM -0700, Eric Dumazet wrote: ... > Note that some programs could fail to compile with the added union > anyway. > > Some gcc versions are unable to compile a static init with an union > > struct inet_diag_req_v2 foo = { .pad = 0, sdiag_family = AF_INET, }; > > When I cooked my recent fq commit I simply removed a pad and replaced > it : > > git show fefa569a9d4bc4 -- include Oh, crap :( I've been looking into uapi headers, found that we use anonymous unions (for example include/uapi/linux/bcache.h) and thought it will be safe (and my test builds didn't fail). Are you happen to know which gcc versions cant do that?