summaryrefslogtreecommitdiffstats
path: root/arch/arm64/include/asm/linkage.h
diff options
context:
space:
mode:
authorRobin Murphy <robin.murphy@arm.com>2021-05-27 16:34:45 +0100
committerWill Deacon <will@kernel.org>2021-06-01 18:34:38 +0100
commitb6c4ea48415d26ec08fb67fbbd3eefdb1f96ffa6 (patch)
treeb372df1b3c8df34e4fc44be26973b80d9ee4a0e2 /arch/arm64/include/asm/linkage.h
parent020b199bc70d98d92e1bbc6a71358d7293ebc5ea (diff)
downloadlinux-b6c4ea48415d26ec08fb67fbbd3eefdb1f96ffa6.tar.bz2
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>
Diffstat (limited to 'arch/arm64/include/asm/linkage.h')
-rw-r--r--arch/arm64/include/asm/linkage.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/linkage.h b/arch/arm64/include/asm/linkage.h
index ba89a9af820a..9906541a6861 100644
--- a/arch/arm64/include/asm/linkage.h
+++ b/arch/arm64/include/asm/linkage.h
@@ -56,8 +56,16 @@
SYM_FUNC_START_ALIAS(__pi_##x); \
SYM_FUNC_START_WEAK(x)
+#define SYM_FUNC_START_WEAK_ALIAS_PI(x) \
+ SYM_FUNC_START_ALIAS(__pi_##x); \
+ SYM_START(x, SYM_L_WEAK, SYM_A_ALIGN)
+
#define SYM_FUNC_END_PI(x) \
SYM_FUNC_END(x); \
SYM_FUNC_END_ALIAS(__pi_##x)
+#define SYM_FUNC_END_ALIAS_PI(x) \
+ SYM_FUNC_END_ALIAS(x); \
+ SYM_FUNC_END_ALIAS(__pi_##x)
+
#endif