Subject: Floating exceptions in NEW_TOOLCHAIN i386 binaries
To: None <tech-toolchain@netbsd.org>
From: Jeff Thieleke <thieleke@yahoo.com>
List: tech-toolchain
Date: 11/01/2001 22:35:36
Hello,
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
...
nogroup:*:32766:
"
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 'build.sh', 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?
Thanks,
Jeff Thieleke