Re: [oss-drivers] netronome/nfp/bpf/jit.c cannot be build with -O3

From: Oleksandr Natalenko
Date: Tue May 07 2019 - 01:06:10 EST


Hi.

On 07.05.2019 00:01, Jiong Wang wrote:
I guess it's because constant prop. Could you try the following change to
__emit_shift?

drivers/net/ethernet/netronome/nfp/bpf/jit.c
__emit_shift:331
- if (sc == SHF_SC_L_SHF)
+ if (sc == SHF_SC_L_SHF && shift)
shift = 32 - shift;

emit_shf_indir is passing "0" as shift to __emit_shift which will
eventually be turned into 32 and it was OK because we truncate to 5-bit,
but before truncation, it will overflow the shift mask.

Yup, it silences the error for me.

--
Oleksandr Natalenko (post-factum)