egcs/linux networking problem isolated
Alan Modra
alan@spri.levels.unisa.edu.au
Tue Apr 13 18:15:00 GMT 1999
On Wed, 14 Apr 1999, Alan Modra wrote:
> On Tue, 13 Apr 1999, Jeffrey A Law wrote:
>
> >
> > In message < Pine.LNX.4.10.9904140016500.23419-100000@mullet.itr.unisa.edu.au >
> > you write:
> > > Anyway, to cut a long story short, after much recompiling with gcc-2.7.2
> > > and egcs, I narrowed the problem down to a memcpy in
>
> Maybe I should have explained here that by "narrowed down", I mean that I
> can compile just ip_output() from linux-2.2.5/net/ipv4/ip_output.c with
> egcs, and the rest of the kernel with gcc-2.7.2, and reproduce a buggy
> kernel. Examining the code produced by egcs makes me suspect the memcpy.
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.
#if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8)
typedef struct { } rwlock_t;
#define RW_LOCK_UNLOCKED (rwlock_t) { }
#else
typedef struct { int gcc_is_buggy; } rwlock_t;
#define RW_LOCK_UNLOCKED (rwlock_t) { 0 }
#endif
This means the egcs/linux networking bug is still hiding.
More information about the Gcc-bugs
mailing list