summaryrefslogtreecommitdiff
path: root/scripts/checkstack.pl
diff options
context:
space:
mode:
authorMartin Habets <errandir_news@mph.eclipse.co.uk>2008-10-21 21:58:29 -0700
committerDavid S. Miller <davem@davemloft.net>2008-10-22 21:53:49 -0700
commitd41e2d7317cd55cc5135356a05c289537b0f6d70 (patch)
treef1718306b420a5ed98c2016ce684e2c84a1f3773 /scripts/checkstack.pl
parent8dd9453737822469837d48d5da3785ce70fb2118 (diff)
downloadlwn-d41e2d7317cd55cc5135356a05c289537b0f6d70.tar.gz
lwn-d41e2d7317cd55cc5135356a05c289537b0f6d70.zip
sparc: Add checkstack support
Add sparc support to checkstack. Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'scripts/checkstack.pl')
-rwxr-xr-xscripts/checkstack.pl4
1 files changed, 4 insertions, 0 deletions
diff --git a/scripts/checkstack.pl b/scripts/checkstack.pl
index f7e8e93ff30d..14ee68e991dd 100755
--- a/scripts/checkstack.pl
+++ b/scripts/checkstack.pl
@@ -14,6 +14,7 @@
# M68k port by Geert Uytterhoeven and Andreas Schwab
# AVR32 port by Haavard Skinnemoen <hskinnemoen@atmel.com>
# PARISC port by Kyle McMartin <kyle@parisc-linux.org>
+# sparc port by Martin Habets <errandir_news@mph.eclipse.co.uk>
#
# Usage:
# objdump -d vmlinux | scripts/checkstack.pl [arch]
@@ -94,6 +95,9 @@ my (@stack, $re, $dre, $x, $xs);
} elsif ($arch =~ /^blackfin$/) {
# 0: 00 e8 38 01 LINK 0x4e0;
$re = qr/.*[[:space:]]LINK[[:space:]]*(0x$x{1,8})/o;
+ } 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;
} else {
print("wrong or unknown architecture \"$arch\"\n");
exit