diff --git a/scripts/checkstack.pl b/scripts/checkstack.pl index 412c45904eaf66..8e5ef98950e10b 100755 --- a/scripts/checkstack.pl +++ b/scripts/checkstack.pl @@ -35,7 +35,7 @@ # $1 (first bracket) matches the dynamic amount of the stack growth # # use anything else and feel the pain ;) -my (@stack, $re, $dre, $x, $xs, $funcre); +my (@stack, $re, $dre, $x, $xs, $funcre, $min_stack); { my $arch = shift; if ($arch eq "") { @@ -43,6 +43,11 @@ chomp($arch); } + $min_stack = shift; + if ($min_stack eq "" || $min_stack !~ /^\d+$/) { + $min_stack = 100; + } + $x = "[0-9a-f]"; # hex character $xs = "[0-9a-f ]"; # hex character or space $funcre = qr/^$x* <(.*)>:$/; @@ -113,7 +118,7 @@ while (my $line = ) { if ($line =~ m/$funcre/) { - if ($total_size > 100) { + if ($total_size > $min_stack) { push @stack, "$intro$total_size\n"; } @@ -150,7 +155,6 @@ $size += 0x80000000; } next if ($size > 0x10000000); - $total_size = $total_size + $size } elsif (defined $dre && $line =~ m/$dre/) { @@ -160,7 +164,7 @@ $total_size = $total_size + $size } } -if ($total_size > 100) { +if ($total_size > $min_stack) { push @stack, "$intro$total_size\n"; }