Re: egcs/linux networking problem isolated

Alan Modra (alan@spri.levels.unisa.edu.au)
Wed, 14 Apr 1999 10:45:37 +0930 (CST)


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.

-
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/