diff options
Diffstat (limited to 'scripts/checkstack.pl')
| -rwxr-xr-x | scripts/checkstack.pl | 12 | 
1 files changed, 5 insertions, 7 deletions
diff --git a/scripts/checkstack.pl b/scripts/checkstack.pl index c05d586b1fee..899b4230320e 100755 --- a/scripts/checkstack.pl +++ b/scripts/checkstack.pl @@ -52,14 +52,12 @@ my (@stack, $re, $dre, $x, $xs, $funcre);  		#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$/) { +	} elsif ($arch =~ /^x86(_64)?$/ || $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; -		$dre = qr/^.*[as][du][db]    (%.*),\%esp$/o; -	} elsif ($arch eq 'x86_64') { -		#    2f60:	48 81 ec e8 05 00 00 	sub    $0x5e8,%rsp -		$re = qr/^.*[as][du][db]    \$(0x$x{1,8}),\%rsp$/o; -		$dre = qr/^.*[as][du][db]    (\%.*),\%rsp$/o; +		# or +		#    2f60:    48 81 ec e8 05 00 00       sub    $0x5e8,%rsp +		$re = qr/^.*[as][du][db]    \$(0x$x{1,8}),\%(e|r)sp$/o; +		$dre = qr/^.*[as][du][db]    (%.*),\%(e|r)sp$/o;  	} elsif ($arch eq 'ia64') {  		#e0000000044011fc:       01 0f fc 8c     adds r12=-384,r12  		$re = qr/.*adds.*r12=-(([0-9]{2}|[3-9])[0-9]{2}),r12/o;  |