diff options
Diffstat (limited to 'src/runtime/symtab.c')
| -rw-r--r-- | src/runtime/symtab.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/runtime/symtab.c b/src/runtime/symtab.c index 80c49e01a0..9580cad712 100644 --- a/src/runtime/symtab.c +++ b/src/runtime/symtab.c @@ -127,6 +127,16 @@ dofunc(Sym *sym) if(nfunc > 0 && func != nil) func[nfunc-1].frame = sym->value; break; + case 'p': + if(nfunc > 0 && func != nil) { + f = &func[nfunc-1]; + // args counts 32-bit words. + // sym->value is the arg's offset. + // don't know width of this arg, so assume it is 64 bits. + if(f->args < sym->value/4 + 2) + f->args = sym->value/4 + 2; + } + break; case 'f': if(fname == nil) { if(sym->value >= nfname) |
