Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: Add assembly annotations for weak-PI-alias madness

Add yet another set of assembly symbol annotations, this time for the
borderline-absurd situation of a function aliasing to a weak symbol
which itself also wants a position-independent alias.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/75545b3c4129b20b887474bb58a9cf302bf2132b.1622128527.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <will@kernel.org>

authored by

Robin Murphy and committed by
Will Deacon
b6c4ea48 020b199b

+8
+8
arch/arm64/include/asm/linkage.h
··· 56 56 SYM_FUNC_START_ALIAS(__pi_##x); \ 57 57 SYM_FUNC_START_WEAK(x) 58 58 59 + #define SYM_FUNC_START_WEAK_ALIAS_PI(x) \ 60 + SYM_FUNC_START_ALIAS(__pi_##x); \ 61 + SYM_START(x, SYM_L_WEAK, SYM_A_ALIGN) 62 + 59 63 #define SYM_FUNC_END_PI(x) \ 60 64 SYM_FUNC_END(x); \ 65 + SYM_FUNC_END_ALIAS(__pi_##x) 66 + 67 + #define SYM_FUNC_END_ALIAS_PI(x) \ 68 + SYM_FUNC_END_ALIAS(x); \ 61 69 SYM_FUNC_END_ALIAS(__pi_##x) 62 70 63 71 #endif