On Wed, Apr 12, 2023 at 01:22:32PM +0200, Ahmad Fatoum wrote: > Apparently, .dword is not supported for 32-bit ARM builds. > > Let's define ASM_PTR that expands to either .dword or .word and use > that instead. > > The definition is taken from RISCV_PTR in arch/riscv/include/asm/asm.h. > > Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> > --- > Sascha, how about this? Ok, let's give it a try. Sascha > --- > include/asm-generic/pointer.h | 30 ++++++++++++++++++++++++++++++ > scripts/gen-dtb-s | 5 +++-- > 2 files changed, 33 insertions(+), 2 deletions(-) > create mode 100644 include/asm-generic/pointer.h > > diff --git a/include/asm-generic/pointer.h b/include/asm-generic/pointer.h > new file mode 100644 > index 000000000000..a0ea084b983c > --- /dev/null > +++ b/include/asm-generic/pointer.h > @@ -0,0 +1,30 @@ > +/* SPDX-License-Identifier: GPL-2.0-only */ > + > +#ifndef __ASM_GENERIC_PTR_H___ > +#define __ASM_GENERIC_PTR_H___ > + > +#if __SIZEOF_POINTER__ == 8 > +#ifdef __ASSEMBLY__ > +#define ASM_PTR .dword > +#define ASM_SZPTR 8 > +#define ASM_LGPTR 3 > +#else > +#define ASM_PTR ".dword" > +#define ASM_SZPTR "8" > +#define ASM_LGPTR "3" > +#endif > +#elif __SIZEOF_POINTER__ == 4 > +#ifdef __ASSEMBLY__ > +#define ASM_PTR .word > +#define ASM_SZPTR 4 > +#define ASM_LGPTR 2 > +#else > +#define ASM_PTR ".word" > +#define ASM_SZPTR "4" > +#define ASM_LGPTR "2" > +#endif > +#else > +#error "Unexpected __SIZEOF_POINTER__" > +#endif > + > +#endif /* __ASM_GENERIC_PTR_H___ */ > diff --git a/scripts/gen-dtb-s b/scripts/gen-dtb-s > index 6309a814a483..6a624e0bd5d0 100755 > --- a/scripts/gen-dtb-s > +++ b/scripts/gen-dtb-s > @@ -5,6 +5,7 @@ dtb=$2 > imd=$3 > > echo "#include <asm/barebox.lds.h>" > +echo "#include <asm-generic/pointer.h>" > > le32() { > printf ".byte 0x%02x, 0x%02x, 0x%02x, 0x%02x\n" \ > @@ -50,7 +51,7 @@ echo ".incbin \"$dtb\"" > echo "__dtb_${name}_end:" > echo ".global __dtb_${name}_end" > if [ "$imd" = "y" ]; then > - echo ".dword __barebox_imd_OF_${name}" > + echo "ASM_PTR __barebox_imd_OF_${name}" > fi > echo ".balign STRUCT_ALIGNMENT" > > @@ -69,7 +70,7 @@ echo ".incbin \"$dtb.z\"" > echo "__dtb_z_${name}_end:" > echo ".global __dtb_z_${name}_end" > if [ "$imd" = "y" ]; then > - echo ".dword __barebox_imd_OF_${name}" > + echo "ASM_PTR __barebox_imd_OF_${name}" > fi > echo ".balign STRUCT_ALIGNMENT" > echo "#endif" > -- > 2.39.2 > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |