>From 1b56440bd50a523bbdbd96f0e1e96c85793108db Mon Sep 17 00:00:00 2001 From: Juergen Gross Date: Fri, 29 May 2020 11:09:43 +0200 Subject: [PATCH] xen/hypfs: make struct hypfs_entry_leaf initializers work with gcc 4.1 gcc 4.1 has problems with static initializers for anonymous unions. Fix this by naming the union in struct hypfs_entry_leaf. Signed-off-by: Juergen Gross --- xen/common/hypfs.c | 8 ++++---- xen/include/xen/hypfs.h | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/xen/common/hypfs.c b/xen/common/hypfs.c index 9c2213a068..a111c2f86d 100644 --- a/xen/common/hypfs.c +++ b/xen/common/hypfs.c @@ -126,7 +126,7 @@ int hypfs_add_leaf(struct hypfs_entry_dir *parent, { int ret; - if ( !leaf->content ) + if ( !leaf->u.content ) ret = -EINVAL; else ret = add_entry(parent, &leaf->e); @@ -255,7 +255,7 @@ int hypfs_read_leaf(const struct hypfs_entry *entry, l = container_of(entry, const struct hypfs_entry_leaf, e); - return copy_to_guest(uaddr, l->content, entry->size) ? -EFAULT: 0; + return copy_to_guest(uaddr, l->u.content, entry->size) ? -EFAULT: 0; } static int hypfs_read(const struct hypfs_entry *entry, @@ -317,7 +317,7 @@ int hypfs_write_leaf(struct hypfs_entry_leaf *leaf, goto out; ret = 0; - memcpy(leaf->write_ptr, buf, ulen); + memcpy(leaf->u.write_ptr, buf, ulen); leaf->e.size = ulen; out: @@ -341,7 +341,7 @@ int hypfs_write_bool(struct hypfs_entry_leaf *leaf, if ( copy_from_guest(&buf, uaddr, ulen) ) return -EFAULT; - *(bool *)leaf->write_ptr = buf; + *(bool *)leaf->u.write_ptr = buf; return 0; } diff --git a/xen/include/xen/hypfs.h b/xen/include/xen/hypfs.h index 5c6a0ccece..39845ec5ae 100644 --- a/xen/include/xen/hypfs.h +++ b/xen/include/xen/hypfs.h @@ -26,7 +26,7 @@ struct hypfs_entry_leaf { union { const void *content; void *write_ptr; - }; + } u; }; struct hypfs_entry_dir { @@ -68,7 +68,7 @@ struct hypfs_entry_dir { static inline void hypfs_string_set_reference(struct hypfs_entry_leaf *leaf, const char *str) { - leaf->content = str; + leaf->u.content = str; leaf->e.size = strlen(str) + 1; } @@ -81,7 +81,7 @@ static inline void hypfs_string_set_reference(struct hypfs_entry_leaf *leaf, .e.max_size = (wr) ? sizeof(contvar) : 0, \ .e.read = hypfs_read_leaf, \ .e.write = (wr), \ - .content = &(contvar), \ + .u.content = &(contvar), \ } #define HYPFS_UINT_INIT(var, nam, contvar) \ -- 2.26.2