forked from Minki/linux
checkstack: add riscv support for scripts/checkstack.pl
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@gmail.com> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
parent
10269fd37f
commit
1fd49a0b5c
@ -16,6 +16,7 @@
|
|||||||
# AArch64, PARISC ports by Kyle McMartin
|
# AArch64, PARISC ports by Kyle McMartin
|
||||||
# sparc port by Martin Habets <errandir_news@mph.eclipse.co.uk>
|
# sparc port by Martin Habets <errandir_news@mph.eclipse.co.uk>
|
||||||
# ppc64le port by Breno Leitao <leitao@debian.org>
|
# ppc64le port by Breno Leitao <leitao@debian.org>
|
||||||
|
# riscv port by Wadim Mueller <wafgo01@gmail.com>
|
||||||
#
|
#
|
||||||
# Usage:
|
# Usage:
|
||||||
# objdump -d vmlinux | scripts/checkstack.pl [arch]
|
# 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') {
|
} elsif ($arch eq 'sparc' || $arch eq 'sparc64') {
|
||||||
# f0019d10: 9d e3 bf 90 save %sp, -112, %sp
|
# f0019d10: 9d e3 bf 90 save %sp, -112, %sp
|
||||||
$re = qr/.*save.*%sp, -(([0-9]{2}|[3-9])[0-9]{2}), %sp/o;
|
$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 {
|
} else {
|
||||||
print("wrong or unknown architecture \"$arch\"\n");
|
print("wrong or unknown architecture \"$arch\"\n");
|
||||||
exit
|
exit
|
||||||
|
Loading…
Reference in New Issue
Block a user