Date: Mon, 11 Dec 2000 15:24:21 +0000 (GMT) From: Mark Powell <M.S.Powell@salford.ac.uk> To: freebsd-stable@freebsd.org Subject: Different gcc optimisations cause IP packet CRC problems Message-ID: <Pine.BSF.4.21.0012111513500.36265-100000@plato.salford.ac.uk>
next in thread | raw e-mail | index | archive | help
Hi, On a PIII 600E, compiling a week old 4.2S kernel with the following options: -O2 -fomit-frame-pointer -mpentium -march=pentium -pipe Cause the kernel to produce TCP CRC errors when talking to certain IP addresses. It generally seemed to get the 2nd octet of the CRC out by one i.e. 0xb9f7 became 0xbaf7 etc. I originally did this, because I was using this fastish machine to remake world for another P166 machine. I forgot to change it back and accidentally recompiled it's own kernel with the above settings. This problem was fixed by simply changing the gcc optimisation to the correct CPU type: -O2 -fomit-frame-pointer -mpentiumpro -march=pentiumpro -pipe However, shouldn't the PIII be backwards compatible with any Pentium code? Or are there some incorrect assumptions made in the CRC generation code? Cheers. BTW Where in the source is the CRC generated? Mark Powell - UNIX System Administrator - The University of Salford Academic Information Services, Clifford Whitworth Building, Salford University, Manchester, M5 4WT, UK. Tel: +44 161 295 5936 Fax: +44 161 295 5888 www.pgp.com for PGP key To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0012111513500.36265-100000>