[Spice-devel] [PATCH spice-protocol 1/2 v2] qxl_dev: Fix alignment for QXLReleaseInfo

Frediano Ziglio fziglio at redhat.com
Thu Jul 18 14:51:51 UTC 2019


> 
> Hi,
> 
> 
> IIRC this was related to some compiler warning, no?

Yes, recent compilers are reporting it, see below.

> If it is I'd mentioning it , otherwise, ack.
> 

Just this patch or the entire series?

> Snir.
> 
> 
> On 7/4/19 4:56 PM, Frediano Ziglio wrote:
> > Do not declare the structure as aligned.
> > The start/end-packed.h headers affects structures without
> > specification only using MingW or Microsoft compilers. For other
> > platform SPICE_ATTR_PACKED macro should be used.  This way the
> > definition are the same for all compiler.
> > This structure is used in a lot of QXL structures which are not
> > aligned causing to have an aligned structure to be potentially
> > unaligned.

What about changing this paragraph to:

"This structure is used in a lot of QXL structures which are not
 aligned causing to have an aligned structure to be potentially
 unaligned. Some compilers report a warning for some usage."

> > As this structure has no holes this change does not make any size
> > change using any compiler.
> > The change will only change the alignment from 4/8 to 1.
> > This could affect structures containing this union however beside
> > packed structure in qxl_dev.h (which are not affected) there are no
> > other usages affecting ABI by spice-gtk, Qemu or spice-server.
> >
> > Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> > ---
> > Changes since v1:
> > - update commit message
> > ---
> >   spice/qxl_dev.h | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
> > index a9cc4f4..659f930 100644
> > --- a/spice/qxl_dev.h
> > +++ b/spice/qxl_dev.h
> > @@ -275,7 +275,7 @@ typedef struct SPICE_ATTR_ALIGNED(4) SPICE_ATTR_PACKED
> > QXLRam {
> >   
> >   } QXLRam;
> >   
> > -typedef union QXLReleaseInfo {
> > +typedef union SPICE_ATTR_PACKED QXLReleaseInfo {
> >       uint64_t id;      // in
> >       uint64_t next;    // out
> >   } QXLReleaseInfo;

Frediano


More information about the Spice-devel mailing list