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

Re: [MiNT] mintlib release



On Sun, 2008-04-27 at 18:09 +0200, Miro Kropacek wrote:
> > At first, MiKRO experienced crashes (before main ?) when running 
> > programs using nearly all the available TPA memory. So he added a nice 
> > message, and he increased the size of the preliminary stack.
> >
> > Then Keith experienced problems of corruption of very long command 
> > lines (more than 2Ko) on ar or ld. I seems that the MiNTLib startup 
> > code use more or less the same memory area for the preliminary stack 
> > and the parsing of the command line.
> >
> > Keith and Alan reverted MiKRO's patch, and everything went OK again.
> >
> this is not exactly true. i reviewed all mails from that time (funny 
> reading ;) and it happened in this way:
> 
> - i had some crashes with gcc compilation. we managed to find it's the 
> low stack (which can be set using "stack" command) so I set 64 KB (in 
> cvs, 2048 KB for my gcc build) as default stksize since the original one 
> was about 24 KB. But I was really angry why I can't do this with "stack 
> --fix=2048KB" (binary crashes then)... reason was:
> 
> - my TPA was too low. but instead of showing me message "insufficient 
> memory, fatal error" binaries crashed sometimes. *this* is our problem 
> we need to track down -- why area between hitpa and end of bss wasn't 
> enough. my guess was (and still is) there was faulty code for aligning 
> that hitpa (bclr #0 with address +1 byte more than hitpa really was)
> 
> - since we were in hurry, i decided not to track down if my problem is 
> here and i set our stack explicitly as 1 KB which fixed my problem (i've 
> finally seen that error message every time then)
> 
> - this is a version which Alan tried and didn't like it very much since 
> it crashed for long command lines so he reverted it back (same for Keith 
> -- both of them have never problems with low TPA so they never spotted 
> crash as I did)
> 
> - however, I managed to reproduce similar problem with 'ar' when I 
> compiled "merged" build binutils+gcc... I found the problem is in that 
> explicit 1 KB stack -- I set it as 64 KB and finally, all problems were 
> gone.

I think this needs to be proved with a repeatable test case. 

> - this is also current state in cvs mintlib (64 KB preliminary stack) so 
> it's harmless but yes, we don't know the original source of problem.

No, it is not harmless. It broke things for me & Keith.

> So, to summarize it: the current cvs mintlib is working, you should be 
> able to do gcc/binutils bootstrap with only changes to stksize (or even 
> without this if you're not doing bootstrap) and there's really no need 
> to revert anything. however, if we want to use 100% safe method 
> (preliminary stack as big as possible and not 64 KB), we need to track 
> down that error in original code. But if we are lazy ;) we don't need to 
> anything, it's true it's hack but it's working and it's clear when 
> something will go bad, the problem is in low preliminary stack (but I 
> really can't imagine >64KB command line)

No CVS mintlib does not work for me without reverting the startup/crt0.S
fix.

Alan.