Skip to content
Snippets Groups Projects
Commit 72d3ebb9 authored by Mathias Krause's avatar Mathias Krause Committed by Masahiro Yamada
Browse files

kallsyms: lower alignment on ARM


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: default avatarMathias Krause <minipli@googlemail.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent c3003315
Branches
No related tags found
No related merge requests found
...@@ -334,10 +334,10 @@ static void write_src(void) ...@@ -334,10 +334,10 @@ static void write_src(void)
printf("#include <asm/types.h>\n"); printf("#include <asm/types.h>\n");
printf("#if BITS_PER_LONG == 64\n"); printf("#if BITS_PER_LONG == 64\n");
printf("#define PTR .quad\n"); printf("#define PTR .quad\n");
printf("#define ALGN .align 8\n"); printf("#define ALGN .balign 8\n");
printf("#else\n"); printf("#else\n");
printf("#define PTR .long\n"); printf("#define PTR .long\n");
printf("#define ALGN .align 4\n"); printf("#define ALGN .balign 4\n");
printf("#endif\n"); printf("#endif\n");
printf("\t.section .rodata, \"a\"\n"); printf("\t.section .rodata, \"a\"\n");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment