Hi guys,
I've been discussing this with Jon Beniston -- it seems the fix for the Internal Compiler Error when building the Linux kernel is to comment out or delete the macro GO_IF_MODE_DEPENDENT_ADDRESS in
gcc/config/lm32/lm32.h and then rebuild GCC.

This fixes the ICE, and gets the kernel to (almost) completely build as-is. Unfortunately GCC gets stuck when kernel/time/timer_list.o is compiled. That is, gcc seems to get stuck in an infinite loop. Commenting out either the entire SEQ_printf macro, or the SEQ_printf call on line 69 is enough to get the code to compile, and build a kernel. I haven't got a working Qemu build yet, so I can't say whether this kernel actually works...

In fact, if you want a fix with (marginally) less risk of collateral damage, replacing the 5th parameter from that macro call with a number is enough to fix the lockup:
        (long long)(ktime_to_ns(hrtimer_get_softexpires(timer)) - now),

Splitting the printf in two is also enough to fix it:
/*      SEQ_printf(m, " # expires at %Lu-%Lu nsecs [in %Ld to %Ld nsecs]\n",
                (unsigned long long)ktime_to_ns(hrtimer_get_softexpires(timer)),
                (unsigned long long)ktime_to_ns(hrtimer_get_expires(timer)),
                (long long)(ktime_to_ns(hrtimer_get_softexpires(timer)) - now),
                (long long)(ktime_to_ns(hrtimer_get_expires(timer)) - now));*/
>
        SEQ_printf(m, " # expires at %Lu-%Lu nsecs ",
                (unsigned long long)ktime_to_ns(hrtimer_get_softexpires(timer)),
                (unsigned long long)ktime_to_ns(hrtimer_get_expires(timer)));
        SEQ_printf(m, "[in %Ld to %Ld nsecs]\n",
                (long long)(ktime_to_ns(hrtimer_get_softexpires(timer)) - now),
                (long long)(ktime_to_ns(hrtimer_get_expires(timer)) - now));

Hummm...

--
Phil.
[email protected]
http://www.philpem.me.uk/
_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkym...@freenode
Webchat: www.milkymist.org/irc.html
Wiki: www.milkymist.org/wiki

Reply via email to