[PATCH 0/5] aarch64, common: improve clang and llvm support

Volodymyr Babchuk posted 5 patches 3 weeks, 6 days ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20241129014850.2852844-1-volodymyr._5Fbabchuk@epam.com
config/GNUCommon.mk            | 16 ++++++++++++++++
config/Linux.mk                |  4 ++++
config/StdGNU.mk               | 18 +-----------------
config/arm64.mk                |  4 ++++
config/llvm.mk                 | 17 +++++++++++++++++
xen/Rules.mk                   |  2 +-
xen/arch/arm/arm64/Makefile    |  2 ++
xen/arch/arm/include/asm/bug.h |  4 ++++
8 files changed, 49 insertions(+), 18 deletions(-)
create mode 100644 config/GNUCommon.mk
create mode 100644 config/llvm.mk
[PATCH 0/5] aarch64, common: improve clang and llvm support
Posted by Volodymyr Babchuk 3 weeks, 6 days ago
This patch series addresses two main issues:

1. Some errors when using clang for aarch64 build

2. Unability to use clang for cross-compilation

While first problem has straightforward fix: add -march argument and
allow to use FP registers for vfg.c, second one is much trickier. I am
aware of the earlier attempts (like [1]), so I decided to use
different approach. Bscailly, I chose to use LLVM tooling as an
option. As LLVM tooling supports cross-compilation inherently, we
don't need to use CROSS_COMPILE varialbe at all.

  make XEN_TARGET_ARCH=arm64 clang=y llvm=y

Shoud work on all host platforms, although I tested this only on x86.

[1] https://patchwork.kernel.org/project/xen-devel/cover/20190327184531.30986-1-julien.grall@arm.com/

Volodymyr Babchuk (5):
  arm: bugframe: emit msg offset only if msg is present
  build: add possibility to use LLVM tools
  build: arm64: provide -target and -march if using clang
  xen: build: add support for CFLAGS_REMOVE variable
  xen: arm64: remove -mgeneral-regs-only for vfp.c

 config/GNUCommon.mk            | 16 ++++++++++++++++
 config/Linux.mk                |  4 ++++
 config/StdGNU.mk               | 18 +-----------------
 config/arm64.mk                |  4 ++++
 config/llvm.mk                 | 17 +++++++++++++++++
 xen/Rules.mk                   |  2 +-
 xen/arch/arm/arm64/Makefile    |  2 ++
 xen/arch/arm/include/asm/bug.h |  4 ++++
 8 files changed, 49 insertions(+), 18 deletions(-)
 create mode 100644 config/GNUCommon.mk
 create mode 100644 config/llvm.mk

-- 
2.47.0