diff options
author | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2006-01-04 10:58:49 -0500 |
---|---|---|
committer | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2007-10-11 06:16:56 -0400 |
commit | 0367d89274d47941b1bc02e35ddad24077de3ce7 (patch) | |
tree | 45b31f6d65028d0b7b8919aa3b84ffdd84555573 /scripts | |
parent | 6fcf0615117dcfa126083f2163c4dcea3098bbe3 (diff) |
[AVR32] checkstack support
Add regexes to recognize stack frame adjustments in AVR32 code.
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/checkstack.pl | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/checkstack.pl b/scripts/checkstack.pl index f7844f6aa487..663158627155 100755 --- a/scripts/checkstack.pl +++ b/scripts/checkstack.pl | |||
@@ -12,6 +12,7 @@ | |||
12 | # sh64 port by Paul Mundt | 12 | # sh64 port by Paul Mundt |
13 | # Random bits by Matt Mackall <mpm@selenic.com> | 13 | # Random bits by Matt Mackall <mpm@selenic.com> |
14 | # M68k port by Geert Uytterhoeven and Andreas Schwab | 14 | # M68k port by Geert Uytterhoeven and Andreas Schwab |
15 | # AVR32 port by Haavard Skinnemoen <hskinnemoen@atmel.com> | ||
15 | # | 16 | # |
16 | # Usage: | 17 | # Usage: |
17 | # objdump -d vmlinux | stackcheck.pl [arch] | 18 | # objdump -d vmlinux | stackcheck.pl [arch] |
@@ -37,6 +38,10 @@ my (@stack, $re, $x, $xs); | |||
37 | if ($arch eq 'arm') { | 38 | if ($arch eq 'arm') { |
38 | #c0008ffc: e24dd064 sub sp, sp, #100 ; 0x64 | 39 | #c0008ffc: e24dd064 sub sp, sp, #100 ; 0x64 |
39 | $re = qr/.*sub.*sp, sp, #(([0-9]{2}|[3-9])[0-9]{2})/o; | 40 | $re = qr/.*sub.*sp, sp, #(([0-9]{2}|[3-9])[0-9]{2})/o; |
41 | } elsif ($arch eq 'avr32') { | ||
42 | #8000008a: 20 1d sub sp,4 | ||
43 | #80000ca8: fa cd 05 b0 sub sp,sp,1456 | ||
44 | $re = qr/^.*sub.*sp.*,([0-9]{1,8})/o; | ||
40 | } elsif ($arch =~ /^i[3456]86$/) { | 45 | } elsif ($arch =~ /^i[3456]86$/) { |
41 | #c0105234: 81 ec ac 05 00 00 sub $0x5ac,%esp | 46 | #c0105234: 81 ec ac 05 00 00 sub $0x5ac,%esp |
42 | $re = qr/^.*[as][du][db] \$(0x$x{1,8}),\%esp$/o; | 47 | $re = qr/^.*[as][du][db] \$(0x$x{1,8}),\%esp$/o; |