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

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


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Date: Fri, 29 Nov 2024 01:49:09 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hs4cLe8ALMoWcOMbuIwcvz7KSeSIg6dUhmOy+zBqkAM=; b=cRDEIsuNcz5tWIEG3R6UGJqVjlCXJFbJhq4Zjc5h1WtoGXYGTrovq3ycB9t62Hf1pKfyRRJoiR2DbuQxmvcUmQFIuWEabHIWL5QeyQFpBRRZYjwDx67W4B3Uvke3g2x6yZ8Krdc934PGgEb8ef541gjxIL2tQhZ90DfY3HdM3ZjKQHYkhYckXNHQmLvELvp9vQYyCwkeyTJ2dSLRrVpXLpc1nZ+BWTQ77m2jZghhZNrBP0Xtd4uRcJ78NIx+QHEGCqzqZFM/2b+TWSGQZb30aXDkuAGsNQ2pety6FtiK88H8nU6TOKWGnvkK1zVt+M0Ll4zjNJwhNoa9ZWYXISsJBQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Z34GNJFGFnNbXXAPMvtbQb0evKpwzEyxMo392sjhcHvEpQC+6cXFbqJZwZ/lxtKbR8T6P5lmI7ZZy4eBjnb63GWGQbPv6LsE4QeuBxNzUpeAaxd3kXcwH7UtLamD62DLqNnClTtHkTGw5EpgYf7M/OW5XzHaWECnd5pw/hEuG14XlzBAM4gXH6s9MhPyL6ZjQ4XnakiiYqjlBm7YAibUDVV7wVs+yWin+wjRg/6nzF+kWhllUL20Xmi6bvYEWfqexPTWrq6PxWYA72ZQEix5ClcqMBiI5cpeVn1++320KgCJUo1KqvS9eYtA+VUsfqTRwiuRO9XnvfQFMal/FG9lag==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com;
  • Cc: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>
  • Delivery-date: Fri, 29 Nov 2024 01:49:28 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHbQgDhJYzO1RzhGUuu6Awok63JvQ==
  • Thread-topic: [PATCH 0/5] aarch64, common: improve clang and llvm support

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@xxxxxxx/

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



 


Rackspace

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