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

Re: [Xen-devel] [PATCH 00/34] Add clang support for ARM and cleanups



On Tue, 25 Mar 2014, Julien Grall wrote:
> Hello all,
> 
> The main goal of this patch series is to add support for Clang on ARM.
> The work has been done with Clang 3.5 which is not yet release but have
> a good support for ARM32. I think clang 3.4 may also be able to compile
> Xen but I didn't try.
> 
> With the first part of the serie (patch #1-#19 and patch #33), I'm able to 
> boot
> Xen compiled by Clang on midway. The patch #33 workaround for a bug in Clang
> (http://llvm.org/bugs/show_bug.cgi?id=19199). I'm not sure if the patch would
> be acceptable for Xen upstream.
> 
> While I was working on Clang 3.5, I played with -Wmissing-prototypes (patch 
> #20-#30)
> and discovered some exported functions which were:
>     - the prototype were not declared before because of a missing include
>     - never used
> 
> Finally the last part of this series (patch #31-33) contains a start of
> bug fixes to be able to compile the tools with Clang. I didn't include
> the patch https://patches.linaro.org/26826/.
> 
> The branch will all the patch applied (+few required patches) can be found 
> here:
>     git clone git://xenbits.xen.org/people/julieng/xen-unstable.git -b clang
> 
> Any comments and questions are welcomed.

Patches #5 #7 #8 #9 #10 #12 #16 #17 #18 #20 #21 #22 #23 #24 #25 #26 #28
#29 are correct and I think they should be applied.
You can add my reviewed-by to them.


> Sincerely yours,
> 
> Julien Grall (34):
>   xen: clang: Disable initializer-overrides warning
>   xen: clang: Disable built-in assembler
>   xen: clang: Support correctly cross-compile
>   xen/compiler: Introduce always_unused define
>   xen/xsm: flask: Remove unused function avc_sidcmp
>   xen/x86: shadow: sh_next_page is only used when GUEST_PAGING_LEVELS =
>     2
>   xen/common: sched_sedf: Remove unused functions
>   xen/common: rcupdate: Remove unused function rcu_batch_after
>   xen/common: tmem: Remove dumb check in do_tmem_destroy_pool
>   xen/crypto: rijndael: Fix compilation with Clang 3.5
>   xen/arm: Introduce __builtin_stack_pointer
>   xen/arm: psci: Don't need to check if vcpuid is negative
>   xen/arm: gic: Introduce GIC_SGI_MAX
>   xen/arm: mm: Mark check_memory_layout_alignment_constraints as unused
>   xen/arm: traps: Mark check_stack_alignment_constraints as unused
>   xen/arm: Guard correctly asm-arm/platforms/midway.h
>   xen/arm: Guard correctly asm-arm/platform/omap5.h
>   xen/arm: omap5: Correctly constify platform compatibility list
>   xen/arm: Provide eabi wrapper for __aeabi_mem* functions
>   xen/common: cpupool: cpupool_unassign_cpu is only used internally
>   xen/common: domctl: Some functions are only used internally
>   xen/common: tmem: Some functions are only used internally
>   xen/sched: credit2: Some functions are only used internally
>   xen/arm: setup: setup_cache is only used internally
>   xen/arm: traps: show_stack is only used internally
>   xen/arm: traps: Drop dump_guest_s1_walk
>   xen/arm: time: move ticks_to_ns and ns_to_ticks in asm/time.h
>   xen/xsm: flask: flask_disable is only used internally
>   xen/xsm: flask: ss: remove unused function determine_oocontext
>   xen: Add missing includes on different files
>   tools: Disable ignored-attributes warning when compiling with clang
>   tools/libxl: list_domains: shutdown is typed unsigned
>   tools/libxl: libxl__json_object_to_yajl_gen should return
>     yajl_gen_status
>   DO NOT APPLY xen/common: kernel: Workaround clang 3.5
> 
>  config/StdGNU.mk                       |    6 +++-
>  tools/Rules.mk                         |    2 ++
>  tools/libxl/libxl_internal.h           |    2 +-
>  tools/libxl/libxl_json.c               |   18 +++++-----
>  tools/libxl/xl_cmdimpl.c               |    3 +-
>  xen/Rules.mk                           |    3 ++
>  xen/arch/arm/Makefile                  |    1 +
>  xen/arch/arm/eabi.c                    |   29 +++++++++++++++
>  xen/arch/arm/gic.c                     |    7 ++--
>  xen/arch/arm/hvm.c                     |    1 +
>  xen/arch/arm/mm.c                      |    4 ++-
>  xen/arch/arm/platforms/omap5.c         |    2 +-
>  xen/arch/arm/setup.c                   |    2 +-
>  xen/arch/arm/shutdown.c                |    1 +
>  xen/arch/arm/smp.c                     |    1 +
>  xen/arch/arm/time.c                    |   11 +-----
>  xen/arch/arm/traps.c                   |   61 
> ++------------------------------
>  xen/arch/arm/vpsci.c                   |    2 +-
>  xen/arch/arm/vtimer.c                  |    4 +--
>  xen/arch/x86/mm/shadow/multi.c         |    2 ++
>  xen/common/cpupool.c                   |    2 +-
>  xen/common/domctl.c                    |   20 +++++------
>  xen/common/event_channel.c             |    1 +
>  xen/common/grant_table.c               |    1 +
>  xen/common/kernel.c                    |    5 +--
>  xen/common/multicall.c                 |    3 ++
>  xen/common/rcupdate.c                  |    6 ----
>  xen/common/sched_credit2.c             |   11 +++---
>  xen/common/sched_sedf.c                |   12 -------
>  xen/common/sort.c                      |    1 +
>  xen/common/tmem.c                      |    9 +++--
>  xen/crypto/rijndael.c                  |    3 ++
>  xen/drivers/video/arm_hdlcd.c          |    1 +
>  xen/include/asm-arm/current.h          |   17 +++++++--
>  xen/include/asm-arm/gic.h              |    2 ++
>  xen/include/asm-arm/platforms/midway.h |    2 +-
>  xen/include/asm-arm/platforms/omap5.h  |    2 +-
>  xen/include/asm-arm/time.h             |   13 +++++++
>  xen/include/xen/compiler.h             |    2 ++
>  xen/xsm/flask/avc.c                    |    5 ---
>  xen/xsm/flask/flask_op.c               |    2 +-
>  xen/xsm/flask/ss/conditional.h         |    1 +
>  xen/xsm/flask/ss/services.c            |   14 --------
>  43 files changed, 141 insertions(+), 156 deletions(-)
>  create mode 100644 xen/arch/arm/eabi.c
> 
> -- 
> 1.7.10.4
> 

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


 


Rackspace

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