Subject: Floating exceptions in NEW_TOOLCHAIN i386 binaries
To: None <>
From: Jeff Thieleke <>
List: tech-toolchain
Date: 11/01/2001 22:35:36

I've been struggling with a problem getting NEW_TOOLCHAIN binaries 
working on my i386 -current machine.  Several of the userland binaries, 
such as 'fsck', 'pstat -s', or 'ls -l' crash with a Floating Exception 
(SIGFPE) error when built using NEW_TOOLCHAIN, but not NetBSD 1.5.2's 
compiler package.

For example, here is what ktrace shows when I tried to execute 
'/usr/obj/bin/ls/ls -l' in a directory with a single file:

   8299 ls       NAMI  "/etc/group"
   8299 ls       RET   open 5
   8299 ls       CALL  __fstat13(0x5,0xbfbfd398)
   8299 ls       RET   __fstat13 0
   8299 ls       CALL  break(0x80a0000)
   8299 ls       RET   break 0
   8299 ls       CALL  lseek(0x5,0,0,0,0x1)
   8299 ls       RET   lseek 0
   8299 ls       CALL  lseek(0x5,0,0,0,0)
   8299 ls       RET   lseek 0
   8299 ls       CALL  __stat13(0x8086a1b,0xbfbfd448)
   8299 ls       NAMI  "/etc/nsswitch.conf"
   8299 ls       RET   __stat13 0
   8299 ls       CALL  read(0x5,0x809e000,0x2000)
   8299 ls       GIO   fd 5 read 317 bytes
   8299 ls       RET   read 317/0x13d
   8299 ls       PSIG  SIGFPE SIG_DFL
   8299 ls       NAMI  "ls.core"

Plain 'ls' or 'ls -F' work fine, however.

I am running a 1.5Y kernel from freshly updated source, without any 
unusual options or CFLAGS.  I've built the userland utilities from 
scratch with both 'make build' and the latest '', and both give 
the same problem.  When I build 'ls' using egcs-2.91.66 from the NetBSD 
1.5.2 comp.tgz archive, it works perfectly.

What am I missing when using NEW_TOOLCHAIN?  I've built the whole 
toolchain using the version of gcc from 1.5.2's comp.tgz, but I still 
get the floating exception.  Any ideas or suggestions?


Jeff Thieleke