[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MiNT] .xif module load problem
More thoughts?
What is the stack pointer value before and after init call, and before
entering load_modules() in comparison with its initial value?
It would seem to me, that the code which saves/restores the registers
works because it makes a place on the stack where the corruption is
harmless. I.e. it may corrupt the register values pushed, and this by
accident doesn't have any side effects when they're popped back.
Otherwise the corruption may destroy f.e. the return address and gets
visible.
I remember that there was a bug (or several actually) in one of the
assembler modules (arch/cpu.S IIRC), which resulted in register
corruption inside kernel's init() function. Odd things happened and
nobody was able to figure out what is wrong, because the symptoms rather
pointed to a bug in the compiler. This may be similar thing, this is why
you may want to check if everything is well with the stack pointer
inside kernel's init() and later, when it boils down to calling a module.
--
CVV
Konrad M.Kokoszkiewicz, http://draco.atari.org
** Ea natura multitudinis est,
** aut seruit humiliter, aut superbe dominatur.
** Taka to już natura pospólstwa, albo służalczo się płaszczy,
** albo bezczelnie się panoszy. (Liwiusz XXIV, 25).