path: root/arch/riscv
diff options
authorPalmer Dabbelt <>2020-05-21 13:28:26 -0700
committerPalmer Dabbelt <>2020-05-21 13:28:26 -0700
commit8356c379cfba8b1b90b0a2423f6afbbe2cdc5d91 (patch)
tree5e9c8d5dadda3f09cc9803b86a6f24dd98218459 /arch/riscv
parent8fa3cdff05f009855a6a99a7d77a41004009bbab (diff)
RISC-V: gp_in_global needs register keyword
The Intel kernel build robot recently pointed out that I missed the register keyword on this one when I refactored the code to remove local register variables (which aren't supported by LLVM). GCC's manual indicates that global register variables must have the register keyword, As far as I can tell lacking the register keyword causes GCC to ignore the __asm__ and treat this as a regular variable, but I'm not sure how that didn't show up as some sort of failure. Fixes: 52e7c52d2ded ("RISC-V: Stop relying on GCC's register allocator's hueristics") Signed-off-by: Palmer Dabbelt <>
Diffstat (limited to 'arch/riscv')
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/riscv/kernel/process.c b/arch/riscv/kernel/process.c
index 610c11e91606..824d117cf202 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");
+register unsigned long gp_in_global __asm__("gp");
extern asmlinkage void ret_from_fork(void);
extern asmlinkage void ret_from_kernel_thread(void);