Subject: Re: [iproute PATCH 1/3] Use C99 style initializers everywhere

From: Daniel Borkmann <[email-masked]>
Date: Fri, 17 Jun 2016 22:36:07 +0200

On 06/17/2016 10:15 PM, David Ahern wrote:
> On 6/17/16 12:57 PM, Stephen Hemminger wrote:
>> On Fri, 17 Jun 2016 16:58:14 +0000
>> Nicolas Dichtel <[email-masked]> wrote:
>>> Le 17/06/2016 18:46, Daniel Borkmann a écrit :
>>>> On 06/17/2016 06:34 PM, Stephen Hemminger wrote:
>>>>> On Fri, 17 Jun 2016 16:09:20 +0000
>>>>> Daniel Borkmann <[email-masked]> wrote:
>>>>>
>>>>>> Please have a look at commit 8f80d450c3cb ("tc: fix compilation with old gcc
>>>>>> (< 4.6)") ...
>>>>>>
>>>>>> Your changes effectively revert them again. Here, and some other parts of the
>>>>>> bpf frontend
>>>>>> code bits.
>>>>>
>>>>> GCC 4.6 is 3 years old. So perhaps it is time to move on.
>>>>> Maybe add a GCC version check in the makefile, to fail cleanly.
>>>>
>>>> Well, you don't have to ask me but rather the patch submitters (Cc).
>>>>
>>>> I haven't used RHEL in quite a while, but I could imagine it might
>>>> be related to built it there perhaps.
>>> Yes. For some specific arch, we have only old toolchains.
>>>
>>> The rule was always to be backward compatible with old kernels. It implies to
>>> also support the compilation with old toolchains ;-)
>>
>> It makes sense that if you can build a kernel with old toolchain, that
>> iproute2 needs to be buildable as well.
>>
>> The current kernels are documented to require 3.2 or later.
>
> Daniel's patch mentions anonymous structs so naming them should be fine.
>
> Daniel: What OS were you using with the 4.6 gcc? I lost my range of OS VMs when I changed employers last year. At this point I don't recall which OS uses < 4.6.

Once again, you have to ask Nicolas or Julien for their RHEL version,
not me ... please have a look at 8f80d450c3cb. ;)

I just pointed to the fact that this would basically undo their changes
that they've submitted some time ago to the BPF frontend, reintroducing
the issue for them. Unfortunately, the anonymous struct cannot be named
due to uapi reasons. It should have been named from the very beginning,
but unfortunately too late now. So I would suggest to just leave those
affected parts as is.

Thanks,
Daniel