mbox series

[0/4] arm: fix clang build errors

Message ID 20200527180424.39395-1-xypron.glpk@gmx.de
Headers show
Series arm: fix clang build errors | expand

Message

Heinrich Schuchardt May 27, 2020, 6:04 p.m. UTC
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(-)

--
2.26.2

Comments

Heinrich Schuchardt June 14, 2020, 3:51 p.m. UTC | #1
On 5/27/20 8:04 PM, Heinrich Schuchardt wrote:
> 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.

Hello Tom,

will you take this series via next?

https://patchwork.ozlabs.org/project/uboot/list/?series=179688

1/4 is already merged via an EFI pull request.

Best regards

Heinrich

>
> 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(-)
>
> --
> 2.26.2
>
Tom Rini June 14, 2020, 3:59 p.m. UTC | #2
On Sun, Jun 14, 2020 at 05:51:21PM +0200, Heinrich Schuchardt wrote:

> On 5/27/20 8:04 PM, Heinrich Schuchardt wrote:
> > 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.
> 
> Hello Tom,
> 
> will you take this series via next?
> 
> https://patchwork.ozlabs.org/project/uboot/list/?series=179688
> 
> 1/4 is already merged via an EFI pull request.

Either -next or the MW when it opens itself.  As this doesn't look too
tricky overall it's not at the top of my TODO list for -next as I'm
focusing on longer outstanding or tricky thingy first.  Thanks!