Fixed bug: after BRA instruction was optimized away the variable lastbra

pointed to the instruction following. This could lead to anything,
including bus errors. Lastbra is now reset to 0.
Bug discovered at Philips PMDS by Hans de Vries. The fix is also his.
Actually the function cleaninstr should be rewritten.
This commit is contained in:
sater 1984-06-28 10:40:09 +00:00
parent 4f6d0dceae
commit e30825a5dd

View file

@ -97,6 +97,7 @@ cleaninstrs() {
OPTIM(O_BRALAB); OPTIM(O_BRALAB);
lpp = lastbra; lpp = lastbra;
*lpp = lp; *lpp = lp;
lastbra = (line_p *) 0;
lp->l_a.la_np->n_jumps--; lp->l_a.la_np->n_jumps--;
} }
} }