Hi Jeroen, On 31 May 2014 14:32, Jeroen Hofstee <jer...@myspectrum.nl> wrote: > --- > arch/arm/include/asm/global_data.h | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/arch/arm/include/asm/global_data.h > b/arch/arm/include/asm/global_data.h > index 63e4ad5..646d694 100644 > --- a/arch/arm/include/asm/global_data.h > +++ b/arch/arm/include/asm/global_data.h > @@ -44,10 +44,27 @@ struct arch_global_data { > > #include <asm-generic/global_data.h> > > +#ifdef __clang__ > + > +#define DECLARE_GLOBAL_DATA_PTR > +#define gd get_gd() > + > +static __inline volatile gd_t *get_gd(void) > +{ > + gd_t *gd_ptr; > + > + __asm__ volatile("mov %0, r9\n" : "=r" (gd_ptr)); > + > + return gd_ptr; > +} > + > +#else > + > #ifdef CONFIG_ARM64 > #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd > asm ("x18") > #else > #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd > asm ("r9") > #endif > +#endif > > #endif /* __ASM_GBL_DATA_H */
Probably a good idea to copy Albert on these patches. What happens if you compile ARM64 with Clang? Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot