12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- From 9d3011bd1cd29f8f3841bf1b64d5ead9ed1434e8 Mon Sep 17 00:00:00 2001
- From: Jan Beulich <jbeulich@suse.com>
- Date: Fri, 19 May 2017 10:12:08 +0200
- Subject: [PATCH] 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@suse.com>
- Reviewed-by: Julien Grall <julien.grall@arm.com>
- Release-acked-by: Julien Grall <julien.grall@arm.com>
- Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
- ---
- 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 6d8b5b9175..d481b2c60f 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 bb25751109..df0ac84709 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 5876988b23..421bca5f36 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,
- --
- 2.11.0
|