Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.24-rc7 /scripts/checkstack.pl

Filename:/scripts/checkstack.pl
Lines Added:12
Lines Deleted:1
Also changed in: (Previous) 2.6.24-rc6  2.6.24-rc5  2.6.24-rc4  2.6.24-rc3  2.6.24-rc2  2.6.24-rc1 
(Following) 2.6.24-rc8  2.6.24  2.6.24-git16  2.6.24-git17  2.6.24-git18  2.6.24-git19 

Location
[  2.6.24-rc7
  [  scripts
     o  checkstack.pl

Patch

diff --git a/scripts/checkstack.pl b/scripts/checkstack.pl
index f7844f6..d716b76 100755
--- a/scripts/checkstack.pl
+++ b/scripts/checkstack.pl
@@ -12,9 +12,11 @@
 #   sh64 port by Paul Mundt
 #   Random bits by Matt Mackall <mpm@selenic.com>
 #   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>
 #
 #   Usage:
-#   objdump -d vmlinux | stackcheck.pl [arch]
+#   objdump -d vmlinux | scripts/checkstack.pl [arch]
 #
 #   TODO :   Port to all architectures (one regex per arch)
 
@@ -37,6 +39,10 @@ my (@stack, $re, $x, $xs);
    if ($arch eq 'arm') {
       #c0008ffc:   e24dd064   sub   sp, sp, #100   ; 0x64
       $re = qr/.*sub.*sp, sp, #(([0-9]{2}|[3-9])[0-9]{2})/o;
+   } elsif ($arch eq 'avr32') {
+      #8000008a:       20 1d           sub sp,4
+      #80000ca8:       fa cd 05 b0     sub sp,sp,1456
+      $re = qr/^.*sub.*sp.*,([0-9]{1,8})/o;
    } elsif ($arch =~ /^i[3456]86$/) {
       #c0105234:       81 ec ac 05 00 00       sub    $0x5ac,%esp
       $re = qr/^.*[as][du][db]    \$(0x$x{1,8}),\%esp$/o;
@@ -56,6 +62,8 @@ my (@stack, $re, $x, $xs);
    } elsif ($arch eq 'mips') {
       #88003254:       27bdffe0        addiu   sp,sp,-32
       $re = qr/.*addiu.*sp,sp,-(([0-9]{2}|[3-9])[0-9]{2})/o;
+   } elsif ($arch eq 'parisc' || $arch eq 'parisc64') {
+      $re = qr/.*ldo ($x{1,8})\(sp\),sp/o;
    } elsif ($arch eq 'ppc') {
       #c00029f4:       94 21 ff 30     stwu    r1,-208(r1)
       $re = qr/.*stwu.*r1,-($x{1,8})\(r1\)/o;
@@ -73,6 +81,9 @@ my (@stack, $re, $x, $xs);
       #     pair for larger users. -- PFM.
       #a00048e0:       d4fc40f0        addi.l  r15,-240,r15
       $re = qr/.*addi\.l.*r15,-(([0-9]{2}|[3-9])[0-9]{2}),r15/o;
+   } elsif ($arch =~ /^blackfin$/) {
+      #   0:   00 e8 38 01     LINK 0x4e0;
+      $re = qr/.*[[:space:]]LINK[[:space:]]*(0x$x{1,8})/o;
    } else {
       print("wrong or unknown architecture\n");
       exit


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.