Re: [RFC PATCH linus] RISC-V: gp_in_global can be static

From: Palmer Dabbelt
Date: Thu May 21 2020 - 16:51:44 EST


On Sun, 17 May 2020 22:02:27 PDT (-0700), lkp@xxxxxxxxx wrote:

Fixes: 52e7c52d2ded ("RISC-V: Stop relying on GCC's register allocator's hueristics")
Signed-off-by: kbuild test robot <lkp@xxxxxxxxx>
---
process.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/riscv/kernel/process.c b/arch/riscv/kernel/process.c
index 610c11e916068..3b2933839d492 100644
--- a/arch/riscv/kernel/process.c
+++ b/arch/riscv/kernel/process.c
@@ -22,7 +22,7 @@
#include <asm/switch_to.h>
#include <asm/thread_info.h>

-unsigned long gp_in_global __asm__("gp");
+static unsigned long gp_in_global __asm__("gp");

extern asmlinkage void ret_from_fork(void);
extern asmlinkage void ret_from_kernel_thread(void);

Thanks. Looks like this is actually a real bug: gp_in_global was supposed to
have the "register" keyword, and missing that appears to cause the __asm__ to
be ignored.