All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oliver Hartkopp <socketcan@hartkopp.net>
To: Marc Kleine-Budde <mkl@pengutronix.de>,
	Rong Chen <rong.a.chen@intel.com>,
	Patrick Menschel <menschel.p@posteo.de>
Cc: kernel test robot <lkp@intel.com>,
	kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
	linux-can <linux-can@vger.kernel.org>
Subject: Re: [kbuild-all] Re: include/linux/compiler_types.h:315:38: error: call to '__compiletime_assert_536' declared with attribute error: BUILD_BUG_ON failed: offsetof(struct can_frame, len) != offsetof(struct canfd_frame, len) || offsetof(struct can_frame, data) != offsetof(struc...
Date: Tue, 23 Mar 2021 09:32:10 +0100	[thread overview]
Message-ID: <c0fb01a8-6a6a-7e5f-f932-697065d18600@hartkopp.net> (raw)
In-Reply-To: <7ff6bfd3-6b4b-045a-abb7-485927909587@hartkopp.net>

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

WARNING: multiple messages have this Message-ID (diff)
From: Oliver Hartkopp <socketcan@hartkopp.net>
To: kbuild-all@lists.01.org
Subject: Re: include/linux/compiler_types.h:315:38: error: call to '__compiletime_assert_536' declared with attribute error: BUILD_BUG_ON failed: offsetof(struct can_frame, len) != offsetof(struct canfd_frame, len) || offsetof(struct can_frame, data) != offsetof(struc...
Date: Tue, 23 Mar 2021 09:32:10 +0100	[thread overview]
Message-ID: <c0fb01a8-6a6a-7e5f-f932-697065d18600@hartkopp.net> (raw)
In-Reply-To: <7ff6bfd3-6b4b-045a-abb7-485927909587@hartkopp.net>

[-- Attachment #1: Type: text/plain, Size: 1419 bytes --]

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

  reply	other threads:[~2021-03-23  8:33 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-20 20:43 include/linux/compiler_types.h:315:38: error: call to '__compiletime_assert_536' declared with attribute error: BUILD_BUG_ON failed: offsetof(struct can_frame, len) != offsetof(struct canfd_frame, len) || offsetof(struct can_frame, data) != offsetof(struc kernel test robot
2021-03-20 20:43 ` kernel test robot
2021-03-21 14:19 ` Oliver Hartkopp
2021-03-21 14:19   ` Oliver Hartkopp
2021-03-22  8:52   ` [kbuild-all] " Rong Chen
2021-03-22  8:52     ` Rong Chen
2021-03-22 16:24     ` [kbuild-all] " Oliver Hartkopp
2021-03-22 16:24       ` Oliver Hartkopp
2021-03-23  2:54       ` [kbuild-all] " Rong Chen
2021-03-23  2:54         ` Rong Chen
2021-03-23  5:46         ` [kbuild-all] " Vincent MAILHOL
2021-03-23  5:46           ` Vincent MAILHOL
2021-03-23  6:06           ` [kbuild-all] " Rong Chen
2021-03-23  6:06             ` Rong Chen
2021-03-23  7:26             ` [kbuild-all] " Patrick Menschel
2021-03-23  7:26               ` Patrick Menschel
2021-03-23  7:34         ` [kbuild-all] " Marc Kleine-Budde
2021-03-23  7:34           ` Marc Kleine-Budde
2021-03-23  7:45           ` [kbuild-all] " Oliver Hartkopp
2021-03-23  7:45             ` Oliver Hartkopp
2021-03-23  8:32             ` Oliver Hartkopp [this message]
2021-03-23  8:32               ` Oliver Hartkopp
2021-03-23  8:54               ` [kbuild-all] " Marc Kleine-Budde
2021-03-23  8:54                 ` Marc Kleine-Budde
2021-03-23  8:59                 ` [kbuild-all] " Rong Chen
2021-03-23  8:59                   ` Rong Chen
2021-03-23  9:35                   ` [kbuild-all] " Rong Chen
2021-03-23  9:35                     ` Rong Chen
2021-03-23 11:36             ` [kbuild-all] " Rasmus Villemoes
2021-03-23 11:36               ` Rasmus Villemoes
2021-03-23 12:49               ` [kbuild-all] " Oliver Hartkopp
2021-03-23 12:49                 ` Oliver Hartkopp
2021-03-23 14:00                 ` [kbuild-all] " Rasmus Villemoes
2021-03-23 14:00                   ` Rasmus Villemoes
2021-03-23 18:59                   ` [kbuild-all] " Oliver Hartkopp
2021-03-23 18:59                     ` Oliver Hartkopp
2021-03-23 20:54                     ` [kbuild-all] " Rasmus Villemoes
2021-03-23 20:54                       ` Rasmus Villemoes
2021-03-24  9:09                       ` [kbuild-all] " Oliver Hartkopp
2021-03-24  9:09                         ` Oliver Hartkopp
2021-03-24  9:57                         ` [kbuild-all] " Marc Kleine-Budde
2021-03-24  9:57                           ` Marc Kleine-Budde
2021-03-29  7:01                   ` [kbuild-all] " Marc Kleine-Budde
2021-03-29  7:01                     ` Marc Kleine-Budde
2021-04-10 10:46                     ` itsapkreach121

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c0fb01a8-6a6a-7e5f-f932-697065d18600@hartkopp.net \
    --to=socketcan@hartkopp.net \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-can@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=menschel.p@posteo.de \
    --cc=mkl@pengutronix.de \
    --cc=rong.a.chen@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.