From owner-freebsd-alpha@FreeBSD.ORG Wed May 5 19:06:30 2004 Return-Path: Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9EC7016A4CE; Wed, 5 May 2004 19:06:30 -0700 (PDT) Received: from ns1.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 083A443D2F; Wed, 5 May 2004 19:06:30 -0700 (PDT) (envelope-from marcel@xcllnt.net) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by ns1.xcllnt.net (8.12.11/8.12.11) with ESMTP id i4626T3f015576; Wed, 5 May 2004 19:06:29 -0700 (PDT) (envelope-from marcel@piii.pn.xcllnt.net) Received: from dhcp01.pn.xcllnt.net (localhost [127.0.0.1]) i4626TxA023572; Wed, 5 May 2004 19:06:29 -0700 (PDT) (envelope-from marcel@dhcp01.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.12.11/8.12.11/Submit) id i4626T35023571; Wed, 5 May 2004 19:06:29 -0700 (PDT) (envelope-from marcel) Date: Wed, 5 May 2004 19:06:29 -0700 From: Marcel Moolenaar To: David Schultz Message-ID: <20040506020629.GA23555@dhcp01.pn.xcllnt.net> References: <20040428064116.GA7870@VARK.homeunix.com> <20040504133904.GA22084@VARK.homeunix.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040504133904.GA22084@VARK.homeunix.com> User-Agent: Mutt/1.4.2.1i cc: alpha@freebsd.org Subject: Re: Problems with floating point exception flags X-BeenThere: freebsd-alpha@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Alpha List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 May 2004 02:06:30 -0000 On Tue, May 04, 2004 at 06:39:04AM -0700, David Schultz wrote: > > Here is a better kernel patch. Instead of treating all the bits > of the FPCR as sticky, it merely treats the exception flags that > way. After reading the source carefully, I'm pretty sure this is > the right fix, but I can't test it without working hardware. > I also uncovered a bug in the way the software floating-point > routines handle underflow. See below. I built and booted a kernel with these patches. Trying to exercise the code with the files at http://people.freebsd.org/~das/alpha yield: alpha% ./te Should be 00: 00 Floating exception (core dumped) May 5 19:00:11 alpha kernel: pid 638 (te), uid 4152: exited on signal 8 (core dumped) alpha% gdb te te.core GNU gdb 5.2.1 (FreeBSD) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "alpha-undermydesk-freebsd"... Core was generated by `te'. Program terminated with signal 8, Arithmetic exception. Reading symbols from /lib/libc.so.5...done. Loaded symbols for /lib/libc.so.5 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x1200008d8 in main (argc=1, argv=0x11ffebd0) at te.c:25 25 d *= 2.0; If there's anything specific you want tested, let me know, -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net