[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b9f63218d934b8048ccdafa8e2c27f9929e344a6.camel@gmail.com>
Date: Tue, 28 Nov 2023 18:19:08 +0200
From: Eduard Zingerman <eddyz87@...il.com>
To: Daniel Xu <dxu@...uu.xyz>, Yonghong Song <yonghong.song@...ux.dev>
Cc: Alexei Starovoitov <alexei.starovoitov@...il.com>, Shuah Khan
<shuah@...nel.org>, Daniel Borkmann <daniel@...earbox.net>, Andrii Nakryiko
<andrii@...nel.org>, Alexei Starovoitov <ast@...nel.org>, Steffen Klassert
<steffen.klassert@...unet.com>, antony.antony@...unet.com, Mykola Lysenko
<mykolal@...com>, Martin KaFai Lau <martin.lau@...ux.dev>, Song Liu
<song@...nel.org>, John Fastabend <john.fastabend@...il.com>, KP Singh
<kpsingh@...nel.org>, Stanislav Fomichev <sdf@...gle.com>, Hao Luo
<haoluo@...gle.com>, Jiri Olsa <jolsa@...nel.org>, bpf
<bpf@...r.kernel.org>, "open list:KERNEL SELFTEST FRAMEWORK"
<linux-kselftest@...r.kernel.org>, LKML <linux-kernel@...r.kernel.org>,
devel@...ux-ipsec.org, Network Development <netdev@...r.kernel.org>
Subject: Re: [PATCH ipsec-next v1 6/7] bpf: selftests: test_tunnel: Disable
CO-RE relocations
On Tue, 2023-11-28 at 10:13 -0600, Daniel Xu wrote:
[...]
> > One thing for sure is memory layout of bitfields should be the same
> > for both clang and gcc as it is determined by C standard. Register
> > representation and how to manipulate could be different for different
> > compilers.
>
> I was reading this thread:
> https://github.com/Lora-net/LoRaMac-node/issues/697. It's obviously not
> authoritative, but they sure sound confident!
>
> I think I've also heard it before a long time ago when I was working on
> adding bitfield support to bpftrace.
>
>
> [...]
Here is a citation from ISO/IEC 9899:201x (C11 standard) ยง6.7.2.1
(Structure and union specifiers), paragraph 11 (page 114 in my pdf):
> An implementation may allocate any addressable storage unit large
> enough to hold a bit- field. If enough space remains, a bit-field
> that immediately follows another bit-field in a structure shall be
> packed into adjacent bits of the same unit. If insufficient space
> remains, whether a bit-field that does not fit is put into the next
> unit or overlaps adjacent units is implementation-defined. The order
> of allocation of bit-fields within a unit (high-order to low-order
> or low-order to high-order) is implementation-defined. The alignment
> of the addressable storage unit is unspecified.
Powered by blists - more mailing lists