Commit 89d49841e9e7a90b04b036b7dbe7521b55edbe24

Authored by Christian Borntraeger
Committed by Martin Schwidefsky
1 parent 4a672cfa3a

[S390] Fix checkstack for s390

With -march=z990 and later gcc can use the long displacement facility
insruction lay for stack register handling. This patch adopts checkstack
to catch lay in addition to ahi and aghi.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

Showing 1 changed file with 4 additions and 1 deletions Side-by-side Diff

scripts/checkstack.pl
... ... @@ -81,7 +81,10 @@
81 81 $re = qr/.*st[dw]u.*r1,-($x{1,8})\(r1\)/o;
82 82 } elsif ($arch =~ /^s390x?$/) {
83 83 # 11160: a7 fb ff 60 aghi %r15,-160
84   - $re = qr/.*ag?hi.*\%r15,-(([0-9]{2}|[3-9])[0-9]{2})/o;
  84 + # or
  85 + # 100092: e3 f0 ff c8 ff 71 lay %r15,-56(%r15)
  86 + $re = qr/.*(?:lay|ag?hi).*\%r15,-(([0-9]{2}|[3-9])[0-9]{2})
  87 + (?:\(\%r15\))?$/ox;
85 88 } elsif ($arch =~ /^sh64$/) {
86 89 #XXX: we only check for the immediate case presently,
87 90 # though we will want to check for the movi/sub