aboutsummaryrefslogtreecommitdiffstats
path: root/tools/checkstack.py
Commit message (Collapse)AuthorAgeFilesLines
* Handle unknown function addresses in tools/checkstack.py.Kevin O'Connor2010-05-011-17/+16
| | | | | | | Handle cases where objdump shows an call to an unknown address. Also, simplify implemention of orderfuncs() - use funcion addreses instead of function names as keys.
* Simplify build by manually resolving external symbols in layoutrom.py.Kevin O'Connor2010-05-011-1/+1
| | | | | | | | | Enhance tools/layoutrom.py to explicitly set those symbols that resolve to a different code chunk (eg, 16, 32seg, 32flat). This eliminates the need to link the code chunks multiple times. This patch reduces the dependency on binutils behavior and makes the build simpler to understand.
* Improvements to tools/checkstack.py.Kevin O'Connor2010-03-091-34/+113
| | | | | | | | | | Add explicit tracking of functions that switch stacks. Add new tracking of "yield" points -- areas in the code that appear to hand control to third-party code which may use arbitrary stack space. Try to arrange the output so that functions that call each other are near each other.
* Update tools/checkstack.py - new compilers set %ebp in preamble.Kevin O'Connor2009-08-091-0/+3
| | | | | A 'movl %esp,%ebp' can occur in the preamble - note for proper stack usage checking.
* checkstack.py should not match pushaw on stack usage check.Kevin O'Connor2009-06-101-1/+1
| | | | Tighten regex so that pushaw doesn't confuse parser.
* Keep relocated 16bit code so checkstack can use it.Kevin O'Connor2009-05-271-1/+1
| | | | | Make was stripping the relocated 16bit code - keep the unstripped 16bit code so that checkstack can parse it.
* Minor - rename BX_PANIC to panic.Kevin O'Connor2009-02-081-2/+2
|
* Switch to new stack when calling ATA function in 16bit mode.Kevin O'Connor2009-01-011-2/+2
| | | | This reduces stack usage (old dos programs don't provide much space).
* Misc minor cleanups.Kevin O'Connor2008-10-261-2/+2
|
* Change checkstack.py tool - key functions by address instead of name.Kevin O'Connor2008-07-131-45/+48
| | | | | Keying by address allows the tool to work even when multiple symbols have the same address.
* Add hack to prevent checkstack.py from infinitely recursing (with bad input).Kevin O'Connor2008-07-041-0/+1
|
* Improvements to checkstack.py tool.Kevin O'Connor2008-06-071-11/+34
| | | | | | | Ignore BX_PANIC calls - they shouldn't happen in practice. Ignore "addr32" prefix when looking at instructions. Add check for "lcallw" insn. Don't display redundant calls to the same function (with same stack usage).
* Add tool to check stack usage of 16bit code.Kevin O'Connor2008-05-121-0/+117
This tool analyzes the assembler and can approximate the stack usage of the various entry points.