[SeaBIOS] [PATCH] checkstack: Handle conditional checks at start of functions
Kevin O'Connor
kevin at koconnor.net
Wed Aug 10 21:05:58 CEST 2016
Recent versions of gcc will sometimes place conditional checks in the
code prior to setting up the function's stack frame. Handle this case
correctly.
Signed-off-by: Kevin O'Connor <kevin at koconnor.net>
---
scripts/checkstack.py | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/scripts/checkstack.py b/scripts/checkstack.py
index 5d9b0bf..255768a 100755
--- a/scripts/checkstack.py
+++ b/scripts/checkstack.py
@@ -153,6 +153,11 @@ def main():
if '%esp' in insn or insn.startswith('leal'):
# Still part of initial header
continue
+ if not stackusage and (
+ insn.startswith('test') or insn.startswith('cmp')
+ or insn.startswith('j')):
+ # There may be conditional checks prior to stack frame
+ continue
cur.basic_stack_usage = stackusage
atstart = 0
--
2.5.5
More information about the SeaBIOS
mailing list