Re: [PATCH] kallsyms: lower alignment on ARM
From: Masahiro Yamada
Date: Wed Jan 02 2019 - 19:31:21 EST
On Sun, Dec 30, 2018 at 9:37 PM Mathias Krause <minipli@xxxxxxxxxxxxxx> wrote:
>
> As mentioned in the info pages of gas, the '.align' pseudo op's
> interpretation of the alignment value is architecture specific.
> It might either be a byte value or taken to the power of two.
>
> On ARM it's actually the latter which leads to unnecessary large
> alignments of 16 bytes for 32 bit builds or 256 bytes for 64 bit
> builds.
>
> Fix this by switching to '.balign' instead which is consistent
> across all architectures.
>
> Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx>
> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
> Cc: Will Deacon <will.deacon@xxxxxxx>
Applied to linux-kbuild.
Thanks!
> ---
> scripts/kallsyms.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
> index 109a1af7e444..77cebad0474e 100644
> --- a/scripts/kallsyms.c
> +++ b/scripts/kallsyms.c
> @@ -334,10 +334,10 @@ static void write_src(void)
> printf("#include <asm/types.h>\n");
> printf("#if BITS_PER_LONG == 64\n");
> printf("#define PTR .quad\n");
> - printf("#define ALGN .align 8\n");
> + printf("#define ALGN .balign 8\n");
> printf("#else\n");
> printf("#define PTR .long\n");
> - printf("#define ALGN .align 4\n");
> + printf("#define ALGN .balign 4\n");
> printf("#endif\n");
>
> printf("\t.section .rodata, \"a\"\n");
> --
> 2.19.2
>
--
Best Regards
Masahiro Yamada