On Thu, Dec 22, 2016 at 8:13 AM, Savolainen, Petri (Nokia - FI/Espoo)
<petri.savolai...@nokia-bell-labs.com> wrote:
>
>
>> -----Original Message-----
>> From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of Mike
>> Holmes
>> Sent: Thursday, December 22, 2016 4:08 PM
>> To: Maxim Uvarov <maxim.uva...@linaro.org>
>> Cc: lng-odp <lng-odp@lists.linaro.org>
>> Subject: Re: [lng-odp] [PATCHv2] linux-generic: packet: fix buggy compiler
>> error
>>
>> On 22 December 2016 at 08:49, Maxim Uvarov <maxim.uva...@linaro.org>
>> wrote:
>>
>> > On debian jessie gcc unable to compile current code
>> > with error:
>> > odp_packet.c: In function 'odp_packet_trunc_head':
>> > odp_packet.c:314:46: error: array subscript is above array bounds
>> > [-Werror=array-bounds]
>> > to->buf_hdr.seg[i].len = from->buf_hdr.seg[num + i].len;
>> >
>> > The problem is that it breaks compilation only on .len line:
>> > for (i = 0; i < num; i++) {
>> >         to->buf_hdr.seg[i].hdr  = from->buf_hdr.seg[num + i].hdr;
>> >         to->buf_hdr.seg[i].data = from->buf_hdr.seg[num + i].data;
>> >         to->buf_hdr.seg[i].len  = from->buf_hdr.seg[num + i].len;
>> > }
>> >
>> > If that line is commented out compilation passes. If lines are reordered
>> > than compilation also fails on .len line. Because there is no warning on
>> > .hdr and .data it looks like compiler error. Additional check for
>> > preconfigured value is workaround to that situation.
>> >
>> > Signed-off-by: Maxim Uvarov <maxim.uva...@linaro.org>
>> >
>>
>> Reviewed-by: Mike Holmes <mike.hol...@linaro.org>
>>
>> -O3 now passes for me on x86 gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
>>
>
> I'll send shortly a patch set which modifies also this function. I think it 
> should remove the issue also.

Thanks, Petri. Can you also please take a look at my patch for Bug
2789, http://patches.opendataplane.org/patch/7696/ as this is also
working in the new pool code area.

>
> -Petri
>

Reply via email to