Alan Hourihane wrote:
I get a little uneasy about adding patches to mintlib when we can't
reproduce the bug on more than one system.
You're right.
Has anyone else reproduced
this without Aranym/EmuTOS ?
First, the test must be made with a problematic executable. Any
program compiled with the current CVS MiNTLib is affected. The tiny
program tst.tos attached to this email does not use the MiNTLib but
is affected in the very same way.
The crash occurs only when the OS loads the program at some memory
location where there is an invalid read address just after. For
example, at the end of the FastRam (like EmuTOS). I guess that with
the right memory protection parameters, the space just after the
TPA is marked as unreadable, it is probably what happens on my setup.
Did you enable the NEW_SYSCALL stuff in the kernel and the bug
disappeared ??
No, I'm not familiar with the kernel, I didn't try to recompile it.
NEW_SYSCALL looks better, but I don't know if it works.
--
Vincent Rivière
move.l 4(sp),a0 | get basepage
move.l 4(a0),d0 | get _base->p_hitpa
and.l #0xfffffffc,d0 | align on lower 4 bytes
| sub.l #0,d0 | Bus Error before Hello
| sub.l #28,d0 | Bus Error before Hello
| sub.l #32,d0 | Bus Error after Hello
| sub.l #36,d0 | No Bus Error
move.l d0,sp | this is the new stack
pea msg
move.w #9,-(sp) | Cconws()
trap #1
addq.l #6,sp
move.w #8,-(sp) | Cnecin()
trap #1
addq.l #2,sp
clr.w -(sp) | Pterm0()
trap #1
msg: .asciz "Hello!\r\n"<tst.tos>