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

[Xen-changelog] [xen master] arm: fix build with gcc 7



commit 9d3011bd1cd29f8f3841bf1b64d5ead9ed1434e8
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Fri May 19 10:12:08 2017 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Fri May 19 10:12:08 2017 +0200

    arm: fix build with gcc 7
    
    The compiler dislikes duplicate "const", and the ones it complains
    about look like they we in fact meant to be placed differently.
    
    Also fix array_access_okay() (just like on x86), despite the construct
    being unused on ARM: -Wint-in-bool-context, enabled by default in
    gcc 7, doesn't like multiplication in conditional operators. "Hide" it,
    at the risk of the next compiler version becoming smarter and
    recognizing even that. (The hope is that added smartness then would
    also better deal with legitimate cases like the one here.) The change
    could have been done in access_ok(), but I think we better keep it at
    the place the compiler is actually unhappy about.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Julien Grall <julien.grall@xxxxxxx>
    Release-acked-by: Julien Grall <julien.grall@xxxxxxx>
---
 xen/arch/arm/platforms/brcm.c      | 2 +-
 xen/arch/arm/platforms/rcar2.c     | 2 +-
 xen/include/asm-arm/guest_access.h | 3 ++-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/platforms/brcm.c b/xen/arch/arm/platforms/brcm.c
index 6d8b5b9..d481b2c 100644
--- a/xen/arch/arm/platforms/brcm.c
+++ b/xen/arch/arm/platforms/brcm.c
@@ -271,7 +271,7 @@ static __init int brcm_init(void)
     return brcm_populate_plat_regs();
 }
 
-static const char const *brcm_dt_compat[] __initconst =
+static const char *const brcm_dt_compat[] __initconst =
 {
     "brcm,bcm7445d0",
     NULL
diff --git a/xen/arch/arm/platforms/rcar2.c b/xen/arch/arm/platforms/rcar2.c
index bb25751..df0ac84 100644
--- a/xen/arch/arm/platforms/rcar2.c
+++ b/xen/arch/arm/platforms/rcar2.c
@@ -46,7 +46,7 @@ static int __init rcar2_smp_init(void)
     return 0;
 }
 
-static const char const *rcar2_dt_compat[] __initdata =
+static const char *const rcar2_dt_compat[] __initconst =
 {
     "renesas,lager",
     NULL
diff --git a/xen/include/asm-arm/guest_access.h 
b/xen/include/asm-arm/guest_access.h
index 5876988..421bca5 100644
--- a/xen/include/asm-arm/guest_access.h
+++ b/xen/include/asm-arm/guest_access.h
@@ -8,7 +8,8 @@
 #define access_ok(addr,size) (1)
 
 #define array_access_ok(addr,count,size) \
-    (likely(count < (~0UL/size)) && access_ok(addr,count*size))
+    (likely((count) < (~0UL / (size))) && \
+     access_ok(addr, 0 + (count) * (size)))
 
 unsigned long raw_copy_to_guest(void *to, const void *from, unsigned len);
 unsigned long raw_copy_to_guest_flush_dcache(void *to, const void *from,
--
generated by git-patchbot for /home/xen/git/xen.git#master

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

 


Rackspace

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