Messages in this thread Patch in this message | | | Date | Thu, 9 Jul 1998 18:20:15 +0200 (CEST) | From | Andrea Arcangeli <> | Subject | Re: -mregparm=3 |
| |
On Wed, 8 Jul 1998, Benjamin C.R. LaHaise wrote:
>fix. Fwiw, I extracted a portion of the NE2000 driver that demonstrates >the bug (that's where my -mregparm'd kernel would Oops during booting).
I recompiled the kernel with my hacked gcc-2.8.1 (not the right(TM)
--- /tmp/gcc-2.8.1/toplev.c Thu Feb 26 03:04:46 1998 +++ gcc-2.8.1/toplev.c Thu Jul 9 17:13:10 1998 @@ -3393,8 +3393,10 @@ /* If -opt, try combining insns through substitution. */ + optimize = 0; if (optimize > 0) TIMEVAR (combine_time, combine_instructions (insns, max_reg_num ())); + optimize = 1; /* Dump rtl code after insn combination. */ --- /tmp/gcc-2.8.1/loop.c Fri Feb 6 20:23:34 1998 +++ gcc-2.8.1/loop.c Thu Jul 9 17:08:55 1998 @@ -3037,6 +3037,7 @@ register int count = 0; register rtx dest; + return; bzero ((char *) last_set, nregs * sizeof (rtx)); for (insn = from; insn != to; insn = NEXT_INSN (insn)) { patch though...) that seems to fix your piece of code and now the kernel doesn' t crash anymore if compiled with -mregparm=1 (=3 don' t compile at all). Before my gcc patch I got a reboot after bread. The kernel now instead boot fine but stops before to exec init but everything seems to works (sysrq keys for example). I' ll take a look at your kernel patch against 21 soon.
Andrea[s] Arcangeli
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu
| |