Answering myself ...
On 23.03.21 08:45, Oliver Hartkopp wrote:
On 23.03.21 08:34, Marc Kleine-Budde wrote:
On 23.03.2021 10:54:40, Rong Chen wrote:
I tried arm-linux-gnueabi (gcc version 10.2.0) and the problem still
exists, btw we prefer to not use the latest gcc compiler to avoid
false positives.
FWIW:
I'm using latest debian arm compiler and the BUILD_BUG never triggered.
gcc version 10.2.1 20210110 (Debian 10.2.1-6)
@Rong / Marc:
I wonder if the compiler configurations (gcc -v) or the options used at
kernel build time are identical.
Maybe there is a different optimization option selected which causes the
compiler to extend the u8 union to a 32 bit space?!?
And maybe Debian is a bit more conservative in selecting their
optimizations than the setup that Rong was using for the build ...
Best,
Oliver
Thanks Marc!
IMO we facing a compiler problem here - and we should be very happy that
the BUILD_BUG_ON() triggered an issue after years of silence.
I do not have a good feeling about what kind of strange effects this
compiler issue might have in other code of other projects.
So I would explicitly suggest NOT to change the af_can.c code to work
around this compiler issue.
Let the gcc people fix their product and let them thank all of us for
detecting it.
Regards,
Oliver