[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).