Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Eli Zaretskii via Gdb-patches <gdb-patches@sourceware.org>
To: Pedro Alves <pedro@palves.net>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 1/3] struct packed: Use gcc_struct on Windows
Date: Thu, 21 Jul 2022 20:40:28 +0300	[thread overview]
Message-ID: <83a692mkj7.fsf@gnu.org> (raw)
In-Reply-To: <a5f58990-3586-ebd1-2998-f4aec7b935db@palves.net> (message from Pedro Alves on Thu, 21 Jul 2022 18:05:55 +0100)

> Cc: gdb-patches@sourceware.org
> From: Pedro Alves <pedro@palves.net>
> Date: Thu, 21 Jul 2022 18:05:55 +0100
> 
> 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.

And we are 110% sure that structure will never be passed to any other
code?

> > Can you tell why we must have the regular GCC layout of bitfields
> > here?
> 
> Because without it the struct won't really be packed.

Can you tell why is that necessary?

In any case, I'm very uneasy about changes that break ABI
compatibility between parts of a program.

  reply	other threads:[~2022-07-21 17:41 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-21 15:21 [PATCH 0/3] struct packed and Windows ports (PR build/29373) Pedro Alves
2022-07-21 15:21 ` [PATCH 1/3] struct packed: Use gcc_struct on Windows Pedro Alves
2022-07-21 16:03   ` Eli Zaretskii via Gdb-patches
2022-07-21 17:05     ` Pedro Alves
2022-07-21 17:40       ` Eli Zaretskii via Gdb-patches [this message]
2022-07-21 18:15         ` Pedro Alves
2022-07-21 18:23           ` Eli Zaretskii via Gdb-patches
2022-07-21 18:30             ` Pedro Alves
2022-07-21 18:45               ` Eli Zaretskii via Gdb-patches
2022-07-21 18:57                 ` Pedro Alves
2022-07-21 18:18         ` Pedro Alves
2022-07-21 18:28           ` Eli Zaretskii via Gdb-patches
2022-07-21 18:38             ` Pedro Alves
2022-07-21 15:21 ` [PATCH 2/3] struct packed: Unit tests and more operators Pedro Alves
2022-07-21 15:21 ` [PATCH 3/3] struct packed: Add fallback byte array implementation Pedro Alves
2022-07-25 14:58 ` [PATCH 0/3] struct packed and Windows ports (PR build/29373) Tom Tromey via Gdb-patches
2022-07-25 15:18   ` Pedro Alves

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=83a692mkj7.fsf@gnu.org \
    --to=gdb-patches@sourceware.org \
    --cc=eliz@gnu.org \
    --cc=pedro@palves.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox