Re: gcc-2.8.0 miscompiles kernel (Was: gcc-2.8 out...)

Gabriel Paubert (paubert@iram.es)
Sun, 18 Jan 1998 18:39:12 +0100 (MET)


To all people complaining about de4x5 driver and gcc-2.8.0, have a look at
the following patch on linux-mama:

ftp://ftp.huwig.de/pub/linux/mama/2.0/string-asm.gz

this patch was explicitly written in response to an oops occurring
during the initialization of the de4x5 driver with pgcc !

Please report success, failure or whether it breaks something else. For
now I've only got success reports, but it touches so many fundamental
things in string handling that I must be very cautious !

For the technically involved, the reason is that the original macros in
string-asm describe some registers as destroyed by the instruction. But
defining them as destroyed is not the same as used as a temporary
during the execution of the code, which is exactly what these registers
are used for. The compiler then decides to use these registers as
input parameters and chaos results.

Gabriel.

On Sat, 17 Jan 1998, Frank Sweetser wrote:

> ==> Regarding Re: gcc-2.8.0 miscompiles kernel (Was: gcc-2.8 out...); Bernd Nottelmann <nottelm@PTP283.UNI-MUENSTER.DE> adds:
>
> nottelm> Scott Lampert wrote: [...]
>
> >> I can't seem to get the kernel to compile with egcs 1.0 or 1.0.1. I get
> >> kernel panics on boot right after the NCR53C8xx driver and before the
> >> DE4X5 driver (both compiled into the kernel). I haven't had time to
> >> copy all the panic info by hand (I don't know of any way to print the
> >> screen on a boot panic) so I can't really give more information. In
> >> case it's important, I compiled egcs with gcc-2.7.2.3 from redhat 5.0.
> >> I haven't tried it with a pre-built egcs binary yet. -Scott
>
> nottelm> Same here with the AIC7XXX and the DE4X5 driver. It occured whenI
> nottelm> compiled the kernel with gcc-2.8.0, egcs-1.0 and 1.0.1. compiled
> nottelm> with 2.7.2.3 works fine. (System: PPro, binutils-2.8.1.0.18)
>
> Hrm... similar results - no scsi, but I am using the DE4X5 driver... have
> to write down the oops next time... egcs 1.0, 1.0.1
>