mbox series

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

Message ID 20241129014850.2852844-1-volodymyr_babchuk@epam.com (mailing list archive)
Headers show
Series aarch64, common: improve clang and llvm support | expand

Message

Volodymyr Babchuk Nov. 29, 2024, 1:49 a.m. UTC
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