Re: [PATCH 1/3] struct packed: Use gcc_struct on Windows

Pedro Alves
2022-07-21T17:06:14Z

On 2022-07-21 5:03 p.m., Eli Zaretskii wrote:
>> From: Pedro Alves <pedro@palves.net>
>> Date: Thu, 21 Jul 2022 16:21:30 +0100
>>
>> The issue is that mingw gcc defaults to "-mms-bitfields", which
>> affects how bitfields are laid out. We can however tell GCC that we
>> want the regular GCC layout instead using attribute gcc_struct.
>
> Is that a good idea? It means the code emitted by GCC for this source
> file will be incompatible with any other library compiled with MinGW
> that GDB uses. So we are risking ABI incompatibilities here. Right?
>

No. The attribute only changes the layout of that particular structure.

> Can you tell why we must have the regular GCC layout of bitfields
> here?

Because without it the struct won't really be packed.