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

[Xen-devel] [PATCH XTF 4/4] build: Avoid using initialisers for anonymous unions



GCC 4.4 of CentOS 6 vintage can't cope.

Reported-by: Glenn Enright <glenn@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
 tests/livepatch-priv-check/main.c | 75 ++++++++++++++-------------------------
 1 file changed, 26 insertions(+), 49 deletions(-)

diff --git a/tests/livepatch-priv-check/main.c 
b/tests/livepatch-priv-check/main.c
index e51ba64..9f9e778 100644
--- a/tests/livepatch-priv-check/main.c
+++ b/tests/livepatch-priv-check/main.c
@@ -38,23 +38,17 @@ static void check_ret(const char *test, int rc)
 static void test_upload(void)
 {
     static uint8_t payload[PAGE_SIZE];
-    xen_sysctl_t op =
-    {
+    xen_sysctl_t op = {
         .cmd = XEN_SYSCTL_livepatch_op,
         .interface_version = sysctl_interface_version,
-        .u.livepatch = {
-            .cmd = XEN_SYSCTL_LIVEPATCH_UPLOAD,
-            .u.upload = {
-                .name = {
-                    .name.p = TEST_NAME,
-                    .size = sizeof(TEST_NAME),
-                },
-                .size = PAGE_SIZE,
-                .payload.p = payload,
-            },
-        },
     };
 
+    op.u.livepatch.cmd = XEN_SYSCTL_LIVEPATCH_UPLOAD;
+    op.u.livepatch.u.upload.name.name.p = TEST_NAME;
+    op.u.livepatch.u.upload.name.size = sizeof(TEST_NAME);
+    op.u.livepatch.u.upload.size = PAGE_SIZE;
+    op.u.livepatch.u.upload.payload.p = payload;
+
     check_ret(__func__, hypercall_sysctl(&op));
 }
 
@@ -64,64 +58,47 @@ static void test_list(void)
 {
     char names[NR_PAYLOADS * XEN_LIVEPATCH_NAME_SIZE];
     uint32_t lengths[NR_PAYLOADS];
-
-    xen_sysctl_t op =
-    {
+    xen_sysctl_t op = {
         .cmd = XEN_SYSCTL_livepatch_op,
         .interface_version = sysctl_interface_version,
-        .u.livepatch = {
-            .cmd = XEN_SYSCTL_LIVEPATCH_LIST,
-            .u.list = {
-                .idx = 0,
-                .nr = NR_PAYLOADS,
-                .name.p = names,
-                .len.p = lengths,
-            },
-        },
     };
 
+    op.u.livepatch.cmd = XEN_SYSCTL_LIVEPATCH_LIST;
+    op.u.livepatch.u.list.idx = 0;
+    op.u.livepatch.u.list.nr = NR_PAYLOADS;
+    op.u.livepatch.u.list.name.p = names;
+    op.u.livepatch.u.list.len.p = lengths;
+
     check_ret(__func__, hypercall_sysctl(&op));
 }
 
 static void test_get(void)
 {
-    xen_sysctl_t op =
-    {
+    xen_sysctl_t op = {
         .cmd = XEN_SYSCTL_livepatch_op,
         .interface_version = sysctl_interface_version,
-        .u.livepatch = {
-            .cmd = XEN_SYSCTL_LIVEPATCH_GET,
-            .u.get = {
-                .name = {
-                    .name.p = TEST_NAME,
-                    .size = sizeof(TEST_NAME),
-                },
-            },
-        },
     };
 
+    op.u.livepatch.cmd = XEN_SYSCTL_LIVEPATCH_GET;
+    op.u.livepatch.u.get.name.name.p = TEST_NAME;
+    op.u.livepatch.u.get.name.size = sizeof(TEST_NAME);
+
     check_ret(__func__, hypercall_sysctl(&op));
 }
 
 static void test_action(uint32_t action)
 {
-    xen_sysctl_t op =
-    {
+    xen_sysctl_t op = {
         .cmd = XEN_SYSCTL_livepatch_op,
         .interface_version = sysctl_interface_version,
-        .u.livepatch = {
-            .cmd = XEN_SYSCTL_LIVEPATCH_ACTION,
-            .u.action = {
-                .name = {
-                    .name.p = TEST_NAME,
-                    .size = sizeof(TEST_NAME),
-                },
-                .cmd = action,
-                .timeout = 0,
-            },
-        },
     };
 
+    op.u.livepatch.cmd = XEN_SYSCTL_LIVEPATCH_ACTION;
+    op.u.livepatch.u.action.name.name.p = TEST_NAME;
+    op.u.livepatch.u.action.name.size = sizeof(TEST_NAME);
+    op.u.livepatch.u.action.cmd = action;
+    op.u.livepatch.u.action.timeout = 0;
+
     check_ret(__func__, hypercall_sysctl(&op));
 }
 
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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