[PATCH 1/8] LoongArch: Add CONFIG_CC_HAS_EXPLICIT_RELOCS

From: Xi Ruoyao
Date: Sat Aug 27 2022 - 13:55:52 EST


GNU as >= 2.40 and GCC >= 13 will support using explicit relocation
hints in the assembly code, instead of la.* macros. The usage of
explicit relocation hints can improve code generation so it's enabled
by default by GCC >= 13. We need to adapt the kernel for this change,
introduce CONFIG_CC_HAS_EXPLICIT_RELOCS so we can use it in later
patches.

Signed-off-by: Xi Ruoyao <xry111@xxxxxxxxxxx>
---
arch/loongarch/Kconfig | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
index 810096bbf853..e7cfd451024b 100644
--- a/arch/loongarch/Kconfig
+++ b/arch/loongarch/Kconfig
@@ -203,6 +203,9 @@ config SCHED_OMIT_FRAME_POINTER
bool
default y

+config CC_HAS_EXPLICIT_RELOCS
+ def_bool $(cc-option,-mexplicit-relocs) && $(as-instr,x:pcalau12i \$t0$(comma)%pc_hi20(x))
+
menu "Kernel type and options"

source "kernel/Kconfig.hz"
--
2.37.0