[PATCH] checkstack: add riscv support for scripts/checkstack.pl

Conor.Dooley at microchip.com Conor.Dooley at microchip.com
Mon Jul 25 10:40:09 PDT 2022


On 13/07/2022 20:41, Wadim Mueller wrote:
> [You don't often get email from wafgo01 at gmail.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> 

I feel like you might've been mislead by get_maintainer for this
patch. It looks like the maintainer covering this is Masahiro
Yamada <masahiroy at kernel.org> (at least he's taken the last few
patches for it).

I'll be honest, I don't know how to verify that the output is
correct - but I did run it & it does output something that looks
sane /shrug

Thanks,
Conor.

> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> scripts/checkstack.pl lacks support for the riscv architecture. Add
> support to detect "addi sp,sp,-FRAME_SIZE" stack frame generation instruction
> 
> Signed-off-by: Wadim Mueller <wafgo01 at gmail.com>
> ---
>  scripts/checkstack.pl | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/scripts/checkstack.pl b/scripts/checkstack.pl
> index d2c38584ece6..d48dfed6d3db 100755
> --- a/scripts/checkstack.pl
> +++ b/scripts/checkstack.pl
> @@ -16,6 +16,7 @@
>  #      AArch64, PARISC ports by Kyle McMartin
>  #      sparc port by Martin Habets <errandir_news at mph.eclipse.co.uk>
>  #      ppc64le port by Breno Leitao <leitao at debian.org>
> +#      riscv port by Wadim Mueller <wafgo01 at gmail.com>
>  #
>  #      Usage:
>  #      objdump -d vmlinux | scripts/checkstack.pl [arch]
> @@ -108,6 +109,9 @@ my (@stack, $re, $dre, $sub, $x, $xs, $funcre, $min_stack);
>         } elsif ($arch eq 'sparc' || $arch eq 'sparc64') {
>                 # f0019d10:       9d e3 bf 90     save  %sp, -112, %sp
>                 $re = qr/.*save.*%sp, -(([0-9]{2}|[3-9])[0-9]{2}), %sp/o;
> +       } elsif ($arch =~ /^riscv(64)?$/) {
> +               #ffffffff8036e868:      c2010113                addi    sp,sp,-992
> +               $re = qr/.*addi.*sp,sp,-(([0-9]{2}|[3-9])[0-9]{2})/o;
>         } else {
>                 print("wrong or unknown architecture \"$arch\"\n");
>                 exit
> --
> 2.25.1
> 
> 
> _______________________________________________
> linux-riscv mailing list
> linux-riscv at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv



More information about the linux-riscv mailing list