Of course, you still can use mix-n-match if you appropriately edit
include/asm/spinlock.h. That's what I've just done, and now a completely
egcs compiled kernel works ok. I wonder if somewhere in the linux kernel
build process, files are being preprocessed by gcc-2.7.2/cpp (/lib/cpp is
a link to gcc-2.7.2/cpp on my system), or if egcs has a problem with empty
structures in some circumstances.
Later: It's not a cpp problem - access times on gcc-2.7.2 binaries showed
they weren't touched.
Even later: A kernel built with egcs from an unmodified spinlock.h runs
ok now, but on a different machine than the one I had problems with
originally (my home machine). I'm quite certain egcs was built from
identical sources, with identical BOOT_CFLAGS, and that the kernel
sources were identical. The only difference I can think of is that the
egcs compiler I built at home was bootstrapped from an earlier version of
egcs, while the work machine egcs was bootstrapped from gcc-2.7.2.
"make compare" showed no problems with both compilers, but it's still
possible that the home machine egcs was bad. I'll compare objects between
the machines when I get home tonight - and only report further if I don't
find any signifigant differences.
So, those of you who saw egcs/linux networking problems like mine, might
like to try bootstrapping egcs again from gcc-2.7.2
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/