egcs/linux networking problem isolated

Alan Modra
Wed Apr 14 01:35:00 GMT 1999

On Tue, 13 Apr 1999, Jeffrey A Law wrote:
>   In message < >
> 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 mailing list