|
From: Jan-Benedict G. <jb...@us...> - 2005-03-08 09:02:07
|
Update of /cvsroot/linux-vax/kernel-2.5/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25928 Modified Files: checkstack.pl Log Message: - This is the VAX regexp for checkstack.pl . It now can check for excessive stack usage even for us. However, a patched objdump may be needed to correctly recognize the function entry mask (if it is disassembled as instruction(s), chances are that subl2 off the sp are wrongly decoded). - Fortunately, I've written such a patch 8^> Index: checkstack.pl =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/scripts/checkstack.pl,v retrieving revision 1.1.1.2 retrieving revision 1.2 diff -u -d -r1.1.1.2 -r1.2 --- checkstack.pl 2 Sep 2004 18:34:37 -0000 1.1.1.2 +++ checkstack.pl 8 Mar 2005 09:01:55 -0000 1.2 @@ -11,6 +11,7 @@ # Arm port by Holger Schurig # Random bits by Matt Mackall <mp...@se...> # M68k port by Geert Uytterhoeven and Andreas Schwab +# VAX port by Jan-Benedict Glaw <jb...@lu...> # # Usage: # objdump -d vmlinux | stackcheck.pl [arch] @@ -58,6 +59,10 @@ } elsif ($arch eq 'ppc64') { #XXX $re = qr/.*stdu.*r1,-($x{1,8})\(r1\)/o; + } elsif ($arch eq 'vax') { + # 80104ec2: c2 10 5e subl2 $0x10,sp + # 8019d880: 9e ce b0 fe movab 0xfffffeb0(sp),sp + $re = qr/^.*(?:subl2 \$|movab )(0x$x{1,8})(?:,sp|\(sp\),sp)$/o; } elsif ($arch =~ /^s390x?$/) { # 11160: a7 fb ff 60 aghi %r15,-160 $re = qr/.*ag?hi.*\%r15,-(([0-9]{2}|[3-9])[0-9]{2})/o; |