[PATCH 0/4] arm: fix clang build errors

Heinrich Schuchardt xypron.glpk at gmx.de
Wed May 27 20:04:20 CEST 2020

With this patch series most ARM boards both 32bit and 64bit can be built
using Clang 9.

On ARM systems gd is stored in register r9 or x18. When compiling with
clang gd is defined as a macro calling function gd_ptr(). So we can not
make assignments to gd. Fixes for the UEFI sub-system and lib/trace.c
are provided.

Incorrect argument sizes when accessing special registers with inline
assembly are fixed.

Heinrich Schuchardt (4):
  efi_loader: allow compiling with clang
  trace: clang compatible handling of gd register
  arm: remove outdated comment concerning -ffixed-x18
  arm: use correct argument size of special registers

 arch/arm/include/asm/global_data.h | 13 +++++++++----
 arch/arm/include/asm/system.h      | 10 ++++++----
 lib/efi_loader/efi_boottime.c      | 10 +++++-----
 lib/trace.c                        |  8 ++++----
 4 files changed, 24 insertions(+), 17 deletions(-)


More information about the U-Boot mailing list