Subject: compiler compiled with march=i686 appears broken?
To: None <tech-toolchain@netbsd.org>
From: Patrick Welche <prlw1@newn.cam.ac.uk>
List: tech-toolchain
Date: 05/28/2001 15:08:40
I observe the following (1.5V/i386):

Using gcc of 18 May (no march), no march anywhere generates working kernel:
-rwxr-xr-x  1 root  wheel  2738018 May 27 17:36 /netbsd.old

Using gcc of 18 May, and compiling kernel with -march=i686 generates working
kernel:
-rwxr-xr-x  1 root  wheel  3885815 May 28 12:55 netbsd

Using gcc compiled with -march=i686, and compiling kernel without -march=i686
generates broken kernel:
-rwxr-xr-x  1 root  wheel  3879639 May 27 18:19 /netbsd

Using gcc compiled with -march=i686, and compiling kernel with -march=i686
generates broken kernel:
-rwxr-xr-x  1 root  wheel  3885847 May 27 18:06 /netbsd.686
 
Source code of May 27 12:22 GMT, same kernel config file throughout.
 
By broken kernel I mean you see the numbers in square brackets and then it
immediately reboots without a single kernel message appearing.

I'm trying to narrow it down a bit and be more consistent, but it takes a
long time... Any thoughts on narrowing it down more to pop a pr in? The
only thing that seems similar is:

port-i386/6967 gcc -march=i486 generates bad assembler

The chip it's meant to run on is:

cpu0: Intel Pentium III (Coppermine) (686-class), 496.33 MHz
cpu0: I-cache 16 KB 32b/line 4-way, D-cache 16 KB 32b/line 2-way
cpu0: L2 cache 256 KB 32b/line 8-way
cpu0: features 383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features 383f9ff<PGE,MCA,CMOV,FGPAT,PSE36,MMX,FXSR,XMM>

Cheers,

Patrick