aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/kallsyms.c
diff options
context:
space:
mode:
authorMathias Krause <minipli@googlemail.com>2018-12-30 07:36:00 -0500
committerMasahiro Yamada <yamada.masahiro@socionext.com>2019-01-05 19:46:51 -0500
commit72d3ebb929de339f991fc49b58942d2d5ecdb753 (patch)
tree174383def931ff5a7ffff21e95df5f9913845290 /scripts/kallsyms.c
parentc3003315fbf442d99a73a3fc5288dbf89a735e38 (diff)
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: Mathias Krause <minipli@googlemail.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'scripts/kallsyms.c')
-rw-r--r--scripts/kallsyms.c4
1 files 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)
334 printf("#include <asm/types.h>\n"); 334 printf("#include <asm/types.h>\n");
335 printf("#if BITS_PER_LONG == 64\n"); 335 printf("#if BITS_PER_LONG == 64\n");
336 printf("#define PTR .quad\n"); 336 printf("#define PTR .quad\n");
337 printf("#define ALGN .align 8\n"); 337 printf("#define ALGN .balign 8\n");
338 printf("#else\n"); 338 printf("#else\n");
339 printf("#define PTR .long\n"); 339 printf("#define PTR .long\n");
340 printf("#define ALGN .align 4\n"); 340 printf("#define ALGN .balign 4\n");
341 printf("#endif\n"); 341 printf("#endif\n");
342 342
343 printf("\t.section .rodata, \"a\"\n"); 343 printf("\t.section .rodata, \"a\"\n");