Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4037468pxf; Tue, 23 Mar 2021 00:28:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxMEY6Aj3nhqqji0VB+q6NnIlkcW2JpsvAnPtMQnVPdH5TIDtZRd+laq4StlnZYm6Jm/BgB X-Received: by 2002:a17:907:110c:: with SMTP id qu12mr3645125ejb.442.1616484528331; Tue, 23 Mar 2021 00:28:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616484528; cv=none; d=google.com; s=arc-20160816; b=eJeD0T2gzZiuvElzdkvYv0GhZwTiMojymP3PEyto5BotyaSF6Zr6w7+ywfzjHK1/So bBA3C5nCm+6pI5SeA0x1fez19n4fvE9QtMscPhBVyJXSvrAvtUr/waIgFFPAW/ipNmN5 vQvFx7R1qJOUpEf+3BaTmheJB6y420eKhoQfTsJFZ4rF0p1ihwdDjkJ7cqZ5CfCYz2wY 4fnw4iPnJuBGwNWD6kojiIH/+KD2PG++vLb+VsCB/hbEPl/Eu7Rcd7R7Ft9Y++v7Lxyo a3gwmVRX0gtTLEweoSXjtpTId2QrWEjHhtcmg/tHdNrWYpbvkJKwhrsFGlSikPtp+jRn fe9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:subject :autocrypt:from:references:cc:to:dkim-signature; bh=ke/0Auhig3QbIXqhM6tgQHDj3U6s6DaxsunxjcvDDuE=; b=czTFbde5ODFoWR6VxeM5SMqrJIzu70egQeX0R+OyvhRFEih8CBfcQ2oSvu0U/5R5gx HEdSo1y6mdEevccGy3PsrmGSzzhjZ6YzFRtFBLleonWPd4MdEQB8VYlQLfBLAOCaWUP7 iHELrSlFRbD3i3EQemFm7hgLFaSEKeZ8IHlr30WOMnYLkNO9StDp3f6rlofp9ZE5vRtM xxB8qFv+ZUTBEsQ4rPfQuUTweoFYvUKa7v3yHs73J+sJFjei8HjaX4CR5EICuf42Tf8G 9ncrcIuBvc7SOCblM190NrXb+ejA8dm8p+Y1Nou1qnTR4cu8KFcq7ZR33IyVg2ZyhOkA uHqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@posteo.de header.s=2017 header.b=dETfi8hX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=posteo.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p14si13521625eji.719.2021.03.23.00.28.25; Tue, 23 Mar 2021 00:28:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@posteo.de header.s=2017 header.b=dETfi8hX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=posteo.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229632AbhCWH11 (ORCPT + 99 others); Tue, 23 Mar 2021 03:27:27 -0400 Received: from mout02.posteo.de ([185.67.36.66]:39347 "EHLO mout02.posteo.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229639AbhCWH06 (ORCPT ); Tue, 23 Mar 2021 03:26:58 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id C6A332400FE for ; Tue, 23 Mar 2021 08:26:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1616484416; bh=wjDMqOP5WB2g46s/lrBrOAAKFhKaX5fxTrbYRqYNI0Y=; h=To:Cc:From:Autocrypt:Subject:Date:From; b=dETfi8hXRGGnIm6/H0Eg/UpWQ6o+AJIKHIyXqk4P6QaUCCSMZgcMNlXSmf/r1r8bJ IL7Q3k2tlxiYXoS/UbwR6A9ILYV8VvsltnSIyV+Y3SvXjXjotXRpsbe9+T0PvKQnTV sFfPpTOSLm4WunPtmtN6gofwTsgI9fccTfJE53Y9ZBlRxXZfHpB/g6m3IF2zDV1Z02 72ZsW1NpZTO+i1qmro7rOs4/yOuxRzc5AAIsLkyU7TFpkfhIwFfYq0R9MbxIdsLLIR xMYyzNISPgrjofmmJpLPAyhelvo8JO8rkhCo+0m9JK8jCQcIHBFlFMqodlvNkd2uBK cqI0AicdLsBeQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4F4NGl3nTlz6tmM; Tue, 23 Mar 2021 08:26:55 +0100 (CET) To: Rong Chen Cc: Vincent MAILHOL , Oliver Hartkopp , kernel test robot , kbuild-all@lists.01.org, open list , Marc Kleine-Budde , linux-can References: <202103210435.I0fiBGAC-lkp@intel.com> <7f4f7e1c-194b-a903-d474-e3b742556a55@intel.com> <52e57719-7b55-b21a-5e30-4be2fb4e776c@intel.com> From: Patrick Menschel Autocrypt: addr=menschel.p@posteo.de; prefer-encrypt=mutual; keydata= LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUlOQkZ3RG1RZ0JFQUMr elBRRy9KTHQyWUpiNTRERFBKd0Jtd25EUTh4dUZQcEFjRjNYSVVuZkFOTGs0OUpoClhWczFR TnVHZk1VLytmY3RPWGd0SmF6Q3doc3NGdlUvWStPc1Nmd3FTN1ROOXhIWE1DZmtnK1gxRHhI ZGtqcmoKL1pUYkxHd1FUQlE2SVpVeW9BTEVSQ2RHZFBETFVqWERSS0poSTdvV3RqYlVFWUVr ZE9RYnY2eDhLVWd1bGtHUgpYYWxka1hJZ0R0VWZLaUE0VGhBVXpncVJuZ09DV2ZITis4TnBo Q2pGVlFnclRSakxCc3pkZTFnTmJkZ2kvdWxiClcyTngvS1Jqa0F1TTdFUVJvVUJ2QUJWb2FX R3ZYenIzUmphUFhrSk5wNHdFbm1IcVoxZlVteWMvSGZRNnVjWnkKRW5QZnlEWExtWTJQUU5P N2ZCemZLMTJVRTdWZHh0OTBDNURPSkRBc25kNHYreloxNHJObEpmTHNwaDZkVlNIbApsS2t2 NE1BTndNaGxRT3Bta1pLMHhVU0Q2R0M1OHRiV0RSbEg4b3UrWUhDYlh2OHJCTXphR0phWDVB S25lNTJTCmZEUCtiQVVTdWVQdDhrRG5TaU1ZNk9iUEdObWhqcW1JN1RmNkU1NDdqRXUzcmxr aVI3Rno2cktVVzA5VlBlcnAKUnVya3orSTFtTDZ5ZTlZdGFDZ3MwbFR4b3VuYnA5emROVE04 djZFOGJsMWNoSnRoYWs1bkEvRktnbmRtVHdhUQpNclFTRFEyNmxMcUw0MXRPZzhlVXFhTzJI TXVPRGNaaVVIMGVNWHlQZjhsbXhMcy9sbUVZU3hGUXFMWlBjWW9pClA0SGxVcDNSMkxIa0hO WDg1WDBKUldwRkkwLzNKMTFiWEpjLzc1MzVKODExdE9aRDkyRHlkK20zS3dBUkFRQUIKdENk UVlYUnlhV05ySUUxbGJuTmphR1ZzSUR4dFpXNXpZMmhsYkM1d1FIQnZjM1JsYnk1a1pUNkpB bFFFRXdFSwpBRDRXSVFUcFZLQkNXcGNoUW9QQURFY3g1bTR3ejYrNFRnVUNYQU9aQ0FJYkl3 VUpDV1lCZ0FVTENRZ0hBZ1lWCkNna0lDd0lFRmdJREFRSWVBUUlYZ0FBS0NSQXg1bTR3ejYr NFRnQTJELzBTQW92U0xuK1pTcGUzK0d4UUhKMzYKWmJ1TWs0REVSa0RKMnIveStvc254WUd2 TmNtU3N5Q1pBaVZjTTlFM0kxUXVtdDZvWHpoditJUDJNd09MZTlQMwpvUmhJQ1JyQ2RwWmY1 YjdDb0lOc3lENUJwNGFsSUs5UFpHUDdXTjRHeGE3OVpNYkRhNVBNWGVQZ2psckFNVGNOCjRv c2Q5NVB4eFNkV1dheTB2TUh0VWYwRGJkaDFRNUs1U3lkREpxdG56dFBkNzBzUG9wOHBRSWhE NExGUWdpcFgKL3VRdkEvWnZpN2c5T3N4YThCNnRDTG41VG5LT2lNYktCVUFya1FHTDFnbDQ4 NFJtKzRlR011YVZrVjVBb3VYMApOaGQvTVU3eEMxS2dGcWZwYTMzZ0ZRdUxTSTU2aStuRkt6 dzNIdiszeHBJOXJjaHFXQjNnSWNVQ2lQZmFxcU1vCnI4RVNKODF0NWlvckQrRlpQb1RyMUEz aGZTMTNuMGxWUytsZUd3dlNucjRRZ0gvcjZ5eGw4RERIaUdFMUFXblAKaTNaWFNKWnkxRUJW TWJXTXFBNzFwczZDS2ZnbmpmSHVvVmNsTElXd3cxT2gwYXlER1hMZUFic1VPTGtGOXAxMwo1 MWxRS0lJWUZpcXVwL09qa0pKMlgxaTdITjlqV2xRVnR0SER3QlhZOWNYWDRHUzk3cnNwSVhj S2hHRytFSVB0CjFEaFdBdDR1ZDdqcDIrSDRmTXlKZGlVK0wrYTVXNjlTODZpOURTMjBUdXd2 K3JRemNQWTQ3MkVxZmo0elhWWmsKNUNzZ2kxVDZzQ1lnZDd5TGpHMnFYblZsSTJqQ1JyT0RW dGJiY25jSi9peEhPQ1h2TmlvRzZPREhBM3ZtNlZxaQpEelBmYTBFaWZveWMxbDRvSUZvQ2c3 a0NEUVJjQTVrSUFSQUEwdUlXUGNrRlpzb0ZVZG1Sd29vMW95YzhmSyttCll6TmhTc1l0UTlI ZDMvQmlWeUxwUERQK0F6eks4U2JvWXVGcTJOaGRJaTIyeFRTZ2pyRFZMOU10YTdNbDB6cHgK QnJSTitySm5LRFl3bThJeUl6eUpCRmhXU1l3YnVPSXVqbnB6U1IvVGVDT1VvelRadFhnQmRU YzZrUG5kV1BWTgpDWU9hZVFXdDI1Qnc3ZGNVbllUQ1FWYm9EN0RFVWFEVkVqM1BKM2U0aGli TEp1UnEvK1dQY3kxQ3g2UFNucTJ6CkdQN1pVNWh6NjF2ZGovbVJJa2QxS2UzUTZmWUwzSVRN T1l1WGF6VUVEZ3l3TlN0bVkwRmZUT05GWEtGTXdSNm8KcUtuSGlTN2tINytxQWFodUpkdVFB MW9SU2xUTWRFb3F2WHEySlVJTm1NaGdYL0ZQN3ZpZEFxcTdnVjRXWElxcAptckliVHBiNVpz U0N6dUJBd3lkOTYxM1lmYWpZVGlUYkJGRzQ1Mld4TnlJeTFUdVpWMmIxZlhPbGdLRjNvbmUx CnhwbURqbTFlZVhSdjRnV0d0Vks5cXlEaUtYWnlmQ0YyL2o5d08xaTNnUHZqYmFvU1dhT2hH T2V6dlNFQzB4RjgKWU9TMitGSmxVclVyVm54UXZsZkdyWFYxbUpRTHpvcFJ5N0VndjNlRDI0 NUx5YjhjUHpOUmppelRqV2RYN0g0MwpuNTlXMkdWTkFLTkNyV1pkOGNjZEdJK1RodmwzUUh1 YWQ3NEY5cGdDUUNZWXM5dG92YVZldFR1WlI2Y3JMaG10CmxmK1V4ME5SV29PV2ZTR0w5anBt dkR3aGlwWCszMUlvb1FiOTZ1a2UzOFBZMUVOMjJ6QlBxZ25jVVVrUkxQQncKbEhYbnpFVit6 U1p4QXpFQUVRRUFBWWtDUEFRWUFRb0FKaFloQk9sVW9FSmFseUZDZzhBTVJ6SG1iakRQcjdo TwpCUUpjQTVrSUFoc01CUWtKWmdHQUFBb0pFREhtYmpEUHI3aE9Db0lQLzNTanBFdTl4Wkpj TlZvU0s5MTA0enB6CmtnS2FUVmcrR0tZSEFJa1NZL3U2NU1zVmFTWk14bWVDSzdtTiswNU1w RUZCYW9uMG5sVTlRK0ZMRDFkRDBsenYKTVBkOEZOcEx4VEMxVDQwbXBVN0ZCV1hlVjZWRHoz STY5VkFBdjRWVDM4ZVZhYXBOS1lmVGdwcFRYVEVNYVdoTApVYUpGaU1HaFNYaGkrR01GV2Ji NVNFOGJJRTZ0WUpONWlYZUFNVFE4NjhYVGtHS0VHTjk3bEU2S09odmpWV0kxCkhiUVIzZ0tV ck1uVmlhbGp0YnV4bGNvS2YrblRvNG85OUEyTkprRCswaFozclJZTWhacFR1MitkcCt2Rm9p aEQKdVNFTCtoblZhNFRMd2pYd2gzNzNweU9XMFhra2E5YWpNTEFoMUFtMmRBa0pLSDhzMVlJ UUlpL2Q3bEkyYXQ1awpIcWtIa2p0YzE1ZkgrQUU5Q0VSM3RCSVNoYU9Fb0hXTXc0WEs5NS9n MWVnMVB1cmJmN3RwRnltcklxU3ppQjlvCjJBWituSHVDQ001ZC9pQXh5MmJOcndqNDhPM2Z5 WXd1a0pManUyNlJKbzRMNStjNEJoTU1Ray9nVWROdldHK2YKNUxreVhvbHNMY0p0SktLdStD V1pFK1hxc2RGWHd2d2xDRVNSQ012cGZyQmNtY1hrT0g3S1JKVy9pUjFXVjVRZApjR3ZDcDl0 a08vaEhSb2t0dzBibUl1MlFhZkovajZLTGJqZWV4cTc0TWUyb0U5YmkxY3B2azYvSElDV0JQ dHVYCnNqd2o1Q2M3UlZOMjJLekdZT0RKVGtxU0d4RjV1NVlkTHVNVG5CVGNweEphR2h3MzNq QjgwY3o3enFwQXBpREIKZFFnR2psVlNQT3ZidU04aXBPZDYKPW1nREMKLS0tLS1FTkQgUEdQ IFBVQkxJQyBLRVkgQkxPQ0stLS0tLQo= 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... Message-ID: Date: Tue, 23 Mar 2021 08:26:55 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <52e57719-7b55-b21a-5e30-4be2fb4e776c@intel.com> Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 23.03.21 um 07:06 schrieb Rong Chen: >>>> Ugh! Why did the compiler extend the space for the union to 4 bytes?!? >> Just a random idea but maybe the added padding is due to some >> kind of odd intrication with the __attribute__((__aligned__(8))) >> just below? Does this reproduce if we remove the >> __attribute__((__aligned__(8)))? > > Here is the layout without __attribute__((__aligned__(8))), > the union is still extended to 4 bytes: > > struct can_frame { >         canid_t                    can_id;               /* 0     4 */ >         union { >                 __u8               len;                  /* 4     1 */ >                 __u8               can_dlc;              /* 4     1 */ >         };                                               /* 4     4 */ >         __u8                       __pad;                /* 8     1 */ >         __u8                       __res0;               /* 9     1 */ >         __u8                       len8_dlc;             /* 10     1 */ >         __u8                       data[8];              /* 11     8 */ > >         /* size: 20, cachelines: 1, members: 6 */ >         /* padding: 1 */ >         /* last cacheline: 20 bytes */ > }; > > Best Regards, > Rong Chen Hi, I would suggest a try with __attribute__((__aligned__(8))) only on can_frame, not on data[8]. If the structure length is a multiple of 8, the compiler should recognize this and keep the union a single byte in favor of an array configuration of that struct. The __attribute__((__aligned__(8))) on data[8] has strange propagation effects upwards. If the attributes are really necessary, I would suggest to have both __attribute__((packed)) __attribute__((__aligned__(8))) on structure level instead of inside, so no padding happens inside the structure while the structure itself is aligned. Using aligned and packaged inside a structure may be contradictive to the compiler. This reminds me of the alignment/gap issue with my python3 implementation of bcm message while alternating between X86_64 and ARMHF. Using c_types was a mess but bytestrings worked in the end. Be aware native alignment apparently is 4 on armhf linux and 8 on X86_64 linux. https://marc.info/?l=linux-can&m=161251622904527&w=2 https://gitlab.com/Menschel/socketcan/-/commit/afc6744129448ae4333629fc0297808dd42e3530#e522710a8423075cfd1147ae6b7f44facac3ffb0_133_132 Best Regards, Patrick Menschel