[PATCH] riscv: stacktrace: Move register keyword to beginning of declaration

Palmer Dabbelt palmer at dabbelt.com
Thu Jan 14 21:33:01 EST 2021


On Wed, 13 Jan 2021 18:46:57 PST (-0800), wangkefeng.wang at huawei.com wrote:
> Using global sp_in_global directly to fix the following warning,
>
> arch/riscv/kernel/stacktrace.c:31:3: warning: ‘register’ is not at beginning of declaration [-Wold-style-declaration]
> 31 |   const register unsigned long current_sp = sp_in_global;
>    |   ^~~~~
>
> Signed-off-by: Kefeng Wang <wangkefeng.wang at huawei.com>
> ---
>  arch/riscv/kernel/stacktrace.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/arch/riscv/kernel/stacktrace.c b/arch/riscv/kernel/stacktrace.c
> index 48b870a685b3..df5d2da7c40b 100644
> --- a/arch/riscv/kernel/stacktrace.c
> +++ b/arch/riscv/kernel/stacktrace.c
> @@ -14,7 +14,7 @@
>
>  #include <asm/stacktrace.h>
>
> -register unsigned long sp_in_global __asm__("sp");
> +register const unsigned long sp_in_global __asm__("sp");
>
>  #ifdef CONFIG_FRAME_POINTER
>
> @@ -28,9 +28,8 @@ void notrace walk_stackframe(struct task_struct *task, struct pt_regs *regs,
>  		sp = user_stack_pointer(regs);
>  		pc = instruction_pointer(regs);
>  	} else if (task == NULL || task == current) {
> -		const register unsigned long current_sp = sp_in_global;
>  		fp = (unsigned long)__builtin_frame_address(0);
> -		sp = current_sp;
> +		sp = sp_in_global;
>  		pc = (unsigned long)walk_stackframe;
>  	} else {
>  		/* task blocked in __switch_to */

Thanks, this is on fixes.



More information about the linux-riscv mailing list