egcs/linux networking problem isolated
Wed Apr 14 01:35:00 GMT 1999
On Tue, 13 Apr 1999, Jeffrey A Law wrote:
> In message < Pine.LNX.firstname.lastname@example.org >
> you write:
> > Um, I've got egg on my face again. linux-2.2.5/include/asm/spinlock.h has
> > the following, which makes it quite invalid to mix & match linux object
> > files compiled with different versions of gcc. Grrr.
> Joys ;( Good to know though since I also use the mix-n-match approach to
> bug hunting.
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
More information about the Gcc-bugs