diff options
Diffstat (limited to 'scripts/checkstack.pl')
-rwxr-xr-x | scripts/checkstack.pl | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/scripts/checkstack.pl b/scripts/checkstack.pl index cbdf0dfd4c22..8081b6cf67d2 100755 --- a/scripts/checkstack.pl +++ b/scripts/checkstack.pl | |||
@@ -15,6 +15,7 @@ | |||
15 | # M68k port by Geert Uytterhoeven and Andreas Schwab | 15 | # M68k port by Geert Uytterhoeven and Andreas Schwab |
16 | # AArch64, PARISC ports by Kyle McMartin | 16 | # AArch64, PARISC ports by Kyle McMartin |
17 | # sparc port by Martin Habets <errandir_news@mph.eclipse.co.uk> | 17 | # sparc port by Martin Habets <errandir_news@mph.eclipse.co.uk> |
18 | # ppc64le port by Breno Leitao <leitao@debian.org> | ||
18 | # | 19 | # |
19 | # Usage: | 20 | # Usage: |
20 | # objdump -d vmlinux | scripts/checkstack.pl [arch] | 21 | # objdump -d vmlinux | scripts/checkstack.pl [arch] |
@@ -78,13 +79,9 @@ my (@stack, $re, $dre, $x, $xs, $funcre); | |||
78 | $re = qr/.*l\.addi.*r1,r1,-(([0-9]{2}|[3-9])[0-9]{2})/o; | 79 | $re = qr/.*l\.addi.*r1,r1,-(([0-9]{2}|[3-9])[0-9]{2})/o; |
79 | } elsif ($arch eq 'parisc' || $arch eq 'parisc64') { | 80 | } elsif ($arch eq 'parisc' || $arch eq 'parisc64') { |
80 | $re = qr/.*ldo ($x{1,8})\(sp\),sp/o; | 81 | $re = qr/.*ldo ($x{1,8})\(sp\),sp/o; |
81 | } elsif ($arch eq 'ppc') { | 82 | } elsif ($arch eq 'powerpc' || $arch =~ /^ppc(64)?(le)?$/ ) { |
82 | #c00029f4: 94 21 ff 30 stwu r1,-208(r1) | 83 | # powerpc : 94 21 ff 30 stwu r1,-208(r1) |
83 | $re = qr/.*stwu.*r1,-($x{1,8})\(r1\)/o; | 84 | # ppc64(le) : 81 ff 21 f8 stdu r1,-128(r1) |
84 | } elsif ($arch eq 'ppc64') { | ||
85 | #XXX | ||
86 | $re = qr/.*stdu.*r1,-($x{1,8})\(r1\)/o; | ||
87 | } elsif ($arch eq 'powerpc') { | ||
88 | $re = qr/.*st[dw]u.*r1,-($x{1,8})\(r1\)/o; | 85 | $re = qr/.*st[dw]u.*r1,-($x{1,8})\(r1\)/o; |
89 | } elsif ($arch =~ /^s390x?$/) { | 86 | } elsif ($arch =~ /^s390x?$/) { |
90 | # 11160: a7 fb ff 60 aghi %r15,-160 | 87 | # 11160: a7 fb ff 60 aghi %r15,-160 |