egcs and 2.0.x

glouis@consultronics.com
Sun, 24 May 1998 08:40:33 -0400 (EDT)


Could someone please point me to information on why 2.0.x shouldn't be
compiled with egcs? I have tried doing so, compiling both 2.0.33 and
2.0.34pre15 with egcs-1.0.2 (and binutils 2.8.1.0.23), and so far I
haven't encountered any anomalous behaviour of the resulting kernels
(though I only ran the 2.0.33 one for about one hour). Right now I'm
writing this on a machine running 2.0.34pre16, also compiled with
egcs-1.0.2, that I've used fairly heavily since installing that kernel
yesterday. ("Fairly heavily" is relative, of course, since I'm the
only user of this particular box, which is why I can afford to take the
risk. My production boxen are all using kernels built with gcc
2.7.2.3.)

It was with egcs-compiled 2.0.34pre15 that I found the Building Number
Three web page yesterday, where Alan Cox wrote:

> 2.0.34pre15 is out. Im especially interested to know if it is now
> stable on the 3c59x cards. This one has no known bugs but probably
> several unknowns.
>
> Don't bother letting me know about bugs if you build it with
> gcc 2.8.* or egcs. It won't work and it's too tricky to fix 2.0.x for
> this.

I don't wanna bother Alan himself with this question, because I'm
enjoying, and reaping benefit from, the work he's doing and I'd
rather he spent his time more profitably on getting 2.0.34 out the door
:) The fact that I haven't hit any troubles doesn't mean there aren't
any, of course.

BTW, if anybody else wants to try it, the following trivial patch to
./include/asm/string.h will eliminate a couple hundred "control falls
off the end" warnings. The switch variable is modulo 4, so the patch
changes no functionality.

--- string.h~ Tue Apr 8 11:47:46 1997
+++ string.h Sun May 17 10:03:05 1998
@@ -437,7 +437,7 @@
case 0: COMMON(""); return to;
case 1: COMMON("\n\tmovsb"); return to;
case 2: COMMON("\n\tmovsw"); return to;
- case 3: COMMON("\n\tmovsw\n\tmovsb"); return to;
+ default: COMMON("\n\tmovsw\n\tmovsb"); return to;
}
#undef COMMON
}
@@ -588,7 +588,7 @@
case 0: COMMON(""); return s;
case 1: COMMON("\n\tstosb"); return s;
case 2: COMMON("\n\tstosw"); return s;
- case 3: COMMON("\n\tstosw\n\tstosb"); return s;
+ default: COMMON("\n\tstosw\n\tstosb"); return s;
}
#undef COMMON
}

-- 
| G r e g  L o u i s                | pgp:  keys.pgp.com        | 
| Technical Director, Systems Group | id glouis@dynamicro.on.ca |
| Consultronics Limited             |  2BC6 4F5A 6657 FF4E 9FBC |
| http://www.consultronics.com      |  5DAA 2304 76A9 CCA6 5B45 |

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu