checkstack: add loongarch support for scripts/checkstack.pl
[linux-2.6-microblaze.git] / scripts / checkstack.pl
index 1340871..7d3de23 100755 (executable)
@@ -16,6 +16,7 @@
 #      sparc port by Martin Habets <errandir_news@mph.eclipse.co.uk>
 #      ppc64le port by Breno Leitao <leitao@debian.org>
 #      riscv port by Wadim Mueller <wafgo01@gmail.com>
+#      loongarch port by Youling Tang <tangyouling@kylinos.cn>
 #
 #      Usage:
 #      objdump -d vmlinux | scripts/checkstack.pl [arch]
@@ -104,6 +105,9 @@ my (@stack, $re, $dre, $sub, $x, $xs, $funcre, $min_stack);
        } elsif ($arch =~ /^riscv(64)?$/) {
                #ffffffff8036e868:      c2010113                addi    sp,sp,-992
                $re = qr/.*addi.*sp,sp,-(([0-9]{2}|[3-9])[0-9]{2})/o;
+       } elsif ($arch =~ /^loongarch(32|64)?$/) {
+               #9000000000224708:      02ff4063                addi.d  $sp, $sp, -48(0xfd0)
+               $re = qr/.*addi\..*sp, .*sp, -([0-9]{1,8}).*/o;
        } else {
                print("wrong or unknown architecture \"$arch\"\n");
                exit