Alan Hourihane a écrit :
On Tue, 2008-01-22 at 13:57 +0100, Olivier Landemarre wrote:Alan Hourihane a écrit :On Sun, 2008-01-20 at 16:34 -0500, Keith Scroggins wrote:Hello all, I'm currently building GCC 4.2.2 under AranyM, still got a ways to go.Otherwise, I built a Canadian Cross build with Vincent's latest tools and packages, and my results were the same it seems, the C compiler seems to work on the small items I test, and the C++ compiler does not seem to work on what I have tested, creating executables that SIGILL (illegal instruction).Ugh. Same here now. Since updating GCC & binutils with Vincent's recent updates, the FreeMiNT kernel I build is now generating lots of problems. I'm not sure what's going on either yet. I'll see if I can backtrack on some of the binaries as it used to work. Alan.HelloWhen I compil kernel with gcc 4 for coldfire, I have find some trouble, one possible trouble is when a Signal occur, when it occur Mint kernel modify stack position. For coldfire there was not enough stack put here, I thought it come with 68K emulator even if most of Mint kernel not need it because it was native, but perhaps it's link to GCC 4 that need perhaps more stack. You can try find where I have done this patch (search for #ifdef COLDFIRE and try replace the good one by #if 1, I don't remember in wich file I have done this patch)I don't think so. As it used to work before Vincent's recent changes. I took a look at your code and it doesn't make sense.... # ifdef COLDFIRE newstack = ((unsigned long) &newcurrent) - 0x40UL - 12UL - 0x100UL; # else newstack = ((unsigned long) &newcurrent) - 0x40UL - 12UL - 0x100UL; # endif Alan.
I just look in CVS in sig_mach.c, this is not me that do that when I put it, it was # ifdef COLDFIRE newstack = ((unsigned long) &newcurrent) - 0x40L - 12L - 0x100L; # else newstack = ((unsigned long) &newcurrent) - 0x40L - 12L; # endifand OZK have commit this change probably for test and as it work he not change this, so probably someone should simply remove ifdef now, and so it not your problem.
Olivier