[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MiNT] vfork bug, help needed



Hi Guido!

GF>Jörg, ok to undo your patch?
It's your decision, you're the maintainer.
But remember:
If you revert to the old version you will have the old bug back.
The bug is that a TSR can hook the GEMDOS trap vector and is (according to
the GEMDOS documentation) allowed to modify register a1, so if you have such
a TSR, child and parent will crash due to a clobbered return adress

I fixed this in my patch by letting the return adress remain on the stack,
only duplicating it so that there is one for the child and one for the
parent.
The negativ side effect of this solution is that the stackpointer of the
child differs by 4 from the stackpointer of the parent so that stackpointer
relative adressings are not correct for the child. This is something I had
missed, when I implemented it

Suggestions how to solve this problem are welcome and desired

Bye

                Joerg