[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] tools/kdd: silence gcc 8 warning a different way



On Mon, Apr 16, 2018 at 02:43:32PM +0200, Marek Marczykowski wrote:
> On Mon, Apr 16, 2018 at 06:00:37AM -0600, Jan Beulich wrote:
> > >>> On 16.04.18 at 12:33, <wei.liu2@xxxxxxxxxx> wrote:
> > > On Thu, Apr 12, 2018 at 06:04:49AM -0600, Jan Beulich wrote:
> > >> Older gcc doesn't like "#pragma GCC diagnostic" inside functions.
> > >> 
> > >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> > >> 
> > >> --- a/tools/debugger/kdd/kdd.c
> > >> +++ b/tools/debugger/kdd/kdd.c
> > >> @@ -695,10 +695,10 @@ static void kdd_handle_read_ctrl(kdd_sta
> > >>              KDD_LOG(s, "Request outside of known control space\n");
> > >>              len = 0;
> > >>          } else {
> > >> -#pragma GCC diagnostic push
> > >> -#pragma GCC diagnostic ignored "-Warray-bounds"
> > >> -            memcpy(buf, ((uint8_t *)&ctrl.c32) + offset, len);
> > >> -#pragma GCC diagnostic pop
> > >> +            /* Suppress bogus gcc 8 "out of bounds" warning. */
> > >> +            const uint8_t *src;
> > >> +            asm ("" : "=g" (src) : "0" ((uint8_t *)&ctrl.c32 + offset));
> > >> +            memcpy(buf, src, len);
> > > 
> > > The code looks correct to me:
> > > 
> > > Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> > > 
> > > This will hopefully also fix the issue Boris reported that some older
> > > gcc (<4.6) doesn't support push and pop.
> > > 
> > > This is the first time I see inline assembly is used to silence gcc.
> > > ;-)
> > 
> > And I'm not overly happy about it, but couldn't think of a better way
> > without disabling said warning (or -Werror) altogether for the CU. If
> > Ian's sketched out approach worked, I'd be quite happy to drop the
> > patch here.
> 
> What about changing offset type to uint32_t (or similar), which also
> mute the warning?

That should be fine, since that branch is handling 32 bit case. Tim in
the other sub-thread also hinted something similar.

Wei.

> 
> -- 
> Best Regards,
> Marek Marczykowski-Górecki
> Invisible Things Lab
> A: Because it messes up the order in which people normally read text.
> Q: Why is top-posting such a bad thing?



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.