Older gcc doesn't like "#pragma GCC diagnostic" inside functions.

Signed-off-by: Jan Beulich <jbeul...@suse.com>

--- 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);
         }
     }
 




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

Reply via email to