]> git.pld-linux.org Git - packages/xen.git/blobdiff - gcc9.patch
- BR cleanup
[packages/xen.git] / gcc9.patch
index 92fae00fc56ee663b533bdbab4438c4b285c63c1..16c526acc4efb3649b3d1d927b2a7a5e1604cbfd 100644 (file)
@@ -1,54 +1,3 @@
-From 3fd3b266d4198c06e8e421ca515d9ba09ccd5155 Mon Sep 17 00:00:00 2001
-From: Jan Beulich <jbeulich@suse.com>
-Date: Mon, 13 May 2019 09:51:23 +0200
-Subject: [PATCH] trace: fix build with gcc9
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-While I've not observed this myself, gcc 9 (imo validly) reportedly may
-complain
-
-trace.c: In function '__trace_hypercall':
-trace.c:826:19: error: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value [-Werror=address-of-packed-member]
-  826 |     uint32_t *a = d.args;
-
-and the fix is rather simple - remove the __packed attribute. Introduce
-a BUILD_BUG_ON() as replacement, for the unlikely case that Xen might
-get ported to an architecture where array alignment higher that that of
-its elements.
-
-Reported-by: Martin Liška <martin.liska@suse.com>
-Signed-off-by: Jan Beulich <jbeulich@suse.com>
-Acked-by: George Dunlap <george.dunlap@citrix.com>
----
- xen/common/trace.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/xen/common/trace.c b/xen/common/trace.c
-index cc294fc38473..d1ef81407b71 100644
---- a/xen/common/trace.c
-+++ b/xen/common/trace.c
-@@ -819,12 +819,18 @@ void __trace_var(u32 event, bool_t cycles, unsigned int extra,
- void __trace_hypercall(uint32_t event, unsigned long op,
-                        const xen_ulong_t *args)
- {
--    struct __packed {
-+    struct {
-         uint32_t op;
-         uint32_t args[6];
-     } d;
-     uint32_t *a = d.args;
-+    /*
-+     * In lieu of using __packed above, which gcc9 legitimately doesn't
-+     * like in combination with the address of d.args[] taken.
-+     */
-+    BUILD_BUG_ON(offsetof(typeof(d), args) != sizeof(d.op));
-+
- #define APPEND_ARG32(i)                         \
-     do {                                        \
-         unsigned i_ = (i);                      \
 --- xen-4.11.1/xen/drivers/passthrough/vtd/vtd.h.orig  2018-11-29 14:04:11.000000000 +0000
 +++ xen-4.11.1/xen/drivers/passthrough/vtd/vtd.h       2019-02-05 21:32:50.056774501 +0000
 @@ -28,7 +28,7 @@
This page took 0.026958 seconds and 4 git commands to generate.