2.4 critical compiling error in softirq.c with gcc 4.3

From: Ivan Vucica <ivucica_at_gmail.com>
Date: Mon, 3 Mar 2008 21:21:15 +0100 (CET)

First the obligatory gcc --version:

arm-linux-gnueabi-gcc (Debian 4.3-20080227-1) 4.3.0 20080227 (prerelease)
[gcc-4_3-branch revision 132730]
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

It's GCC, EmDebian edition.

Otherwise, I think this speaks for itself:

/opt/kernel/linux-2.4.19-rmk6-pxa1-hh/include/linux/ncp.h:42: warning:
'packed' attribute ignored for field of type '__u8'
/opt/kernel/linux-2.4.19-rmk6-pxa1-hh/include/linux/ncp.h:43: warning:
'packed' attribute ignored for field of type '__u8[]'
/opt/kernel/linux-2.4.19-rmk6-pxa1-hh/include/linux/ncp.h:137: warning:
'packed' attribute ignored for field of type '__u8'
/opt/kernel/linux-2.4.19-rmk6-pxa1-hh/include/linux/ncp.h:138: warning:
'packed' attribute ignored for field of type '__u8[256]'
/opt/kernel/linux-2.4.19-rmk6-pxa1-hh/include/linux/ncp.h:174: warning:
'packed' attribute ignored for field of type '__u8'
softirq.c: In function 'do_softirq':
softirq.c:79: error: lvalue required as increment operand
softirq.c:82: error: lvalue required as left operand of assignment
softirq.c:102: error: lvalue required as decrement operand
softirq.c: In function 'cpu_raise_softirq':
softirq.c:116: error: lvalue required as left operand of assignment
softirq.c: In function 'tasklet_action':
softirq.c:205: error: lvalue required as left operand of assignment
softirq.c: In function 'tasklet_hi_action':
softirq.c:239: error: lvalue required as left operand of assignment
softirq.c: In function 'ksoftirqd':
softirq.c:381: error: lvalue required as left operand of assignment
make[2]: *** [softirq.o] Error 1
make[2]: Leaving directory `/opt/kernel/linux-2.4.19-rmk6-pxa1-hh/kernel'
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/opt/kernel/linux-2.4.19-rmk6-pxa1-hh/kernel'
make: *** [_dir_kernel] Error 2

I tried codesourcery's gcc 3.4, one of those from 2005. That one goes
insane somewhere in cpufreq.c.

Since h3800 is not supported with 2.6 kernels (almost no drivers were
ported) I'm stuck with 2.4 which doesn't appear to compile with today's
compilers. Or, the "current" CVS has holes like Swiss cheese.

Hints? Fixes?
------------
Ivan Vucica
Received on Mon Mar 03 2008 - 15:21:23 EST

This archive was generated by hypermail 2.2.0 : Mon Mar 03 2008 - 15:21:36 EST