Re: make checkstack on m68k

From: Jörn Engel
Date: Thu Jun 17 2004 - 12:43:40 EST


On Thu, 17 June 2004 13:41:59 +0200, Andreas Schwab wrote:
> Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> writes:
>
> > I tried to add m68k support to `make checkstack', but got stuck due to my
> > limited knowledge of complex perl expressions. I actually need to catch both
> > expressions (incl. the one I commented out). Anyone who can help?
>
> Untested:
>
> $re = qr/.*(?:linkw %fp,|addw )#-([0-9]{1,4})(?:,%sp)?$/o;

Thanks! Geert, can you test the patch below?

[ It will break all platforms except m68k, but I don't want to touch
those REs before someone confirms it to work. ]

Jörn

--
Simplicity is prerequisite for reliability.
-- Edsger W. Dijkstra



checkstack.pl | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletion(-)

--- linux-2.6.7cow/scripts/checkstack.pl~cs_m68k 2004-06-17 14:58:25.000000000 +0200
+++ linux-2.6.7cow/scripts/checkstack.pl 2004-06-17 19:39:15.000000000 +0200
@@ -40,6 +40,11 @@
} elsif ($arch =~ /^ia64$/) {
#e0000000044011fc: 01 0f fc 8c adds r12=-384,r12
$re = qr/.*adds.*r12=-(([0-9]{2}|[3-9])[0-9]{2}),r12/o;
+ } elsif ($arch =~ /^m68k$/) {
+ #2b6c: 4e56 fb70 linkw %fp,#-1168
+ #1df770: defc ffe4 addaw #-28,%sp
+ #$re = qr/.*linkw %fp,#-([0-9]{1,4})/o;
+ $re = qr/.*(?:linkw %fp,|addw )#-[0-9]{1,4}(?:,%sp)?$/o;
} elsif ($arch =~ /^mips64$/) {
#8800402c: 67bdfff0 daddiu sp,sp,-16
$re = qr/.*daddiu.*sp,sp,-(([0-9]{2}|[3-9])[0-9]{2})/o;
@@ -76,7 +81,7 @@
$func = $1;
}
if ($line =~ m/$re/) {
- my $size = $1;
+ my $size = $2;
$size = hex($size) if ($size =~ /^0x/);

if ($size > 0x80000000) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/