gcc problems are supposed to be resolved by using kgcc, but the following happened: kgcc -DMODULE -Wall -Wstrict-prototypes -O6 -c tulip.c tulip.c: In function `tulip_open': tulip.c:1437: structure has no member named `tbusy' tulip.c:1438: structure has no member named `start' tulip.c: In function `tulip_start_xmit': tulip.c:2530: structure has no member named `tbusy' tulip.c:2563: structure has no member named `tbusy' ... etc. etc.
This is definitely not a gcc bug, my guess is that you are compiling a 2.2 tulip driver against 2.4 headers (which are installed in /usr/include/{linux,asm}). Make sure to pass -I/lib/modules/`uname -r`/build/include or perhaps -I/usr/src/linux/include on the command line.