NetBSD Problem Report #33295
From simonb@thistledown.com.au Thu Apr 20 09:58:19 2006
Return-Path: <simonb@thistledown.com.au>
Received: from thoreau.thistledown.com.au (thoreau.thistledown.com.au [203.217.30.154])
by narn.netbsd.org (Postfix) with ESMTP id 7A3DF63B884
for <gnats-bugs@gnats.NetBSD.org>; Thu, 20 Apr 2006 09:58:19 +0000 (UTC)
Message-Id: <20060420095818.6B78F23403@thoreau.thistledown.com.au>
Date: Thu, 20 Apr 2006 19:58:18 +1000 (EST)
From: Simon Burge <simonb@wasabisystems.com>
Reply-To: Simon Burge <simonb@wasabisystems.com>
To: gnats-bugs@netbsd.org
Subject: ieeefp/except regression test fails on soft-float userlands
X-Send-Pr-Version: 3.95
>Number: 33295
>Category: bin
>Synopsis: ieeefp/except regression test fails on soft-float userlands
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: bin-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Apr 20 10:00:00 +0000 2006
>Last-Modified: Thu Apr 20 11:45:01 +0000 2006
>Originator: Simon Burge <simonb@wasabisystems.com>
>Release: NetBSD 3.99.18, from around April 18 2006
>Organization:
Wasabi Systems
>Environment:
System: NetBSD iq80321 3.99.18 NetBSD 3.99.18 (IQ80321) #0: Thu Apr 20 13:01:00 EST 2006 simonb@bigkev.thistledown.com.au:/home/simonb/netbsd/src-virgin/sys/arch/evbarm/compile/IQ80321 evbarm
Architecture: arm
Machine: evbarm
>Description:
The ieeefp/except regression test fails on soft-float userlands,
because the softfloat library uses raise(3) to send SIGFPE when
exceptions should occur, but has no way of setting the si_code
field of siginfo with the correct code.
The failure reported by the regression test is:
assertion "sicode == ops[i].sicode" failed: file "except.c", line 164, function "main"
This same failure occurs on PowerPC when built with softfloat
userland.
>How-To-Repeat:
cd .../regress/lib/libc/ieeefp/except
make
make regress
>Fix:
None given.
>Audit-Trail:
From: Matthias Drochner <M.Drochner@fz-juelich.de>
To: gnats-bugs@netbsd.org
Cc: gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: bin/33295: ieeefp/except regression test fails on soft-float
userlands
Date: Thu, 20 Apr 2006 13:41:50 +0200
This is a multipart MIME message.
--==_Exmh_54691082924720
Content-Type: text/plain; charset=us-ascii
simonb@wasabisystems.com said:
> the softfloat library uses raise(3) to send SIGFPE
How about the appended patch?
best regards
Matthias
--==_Exmh_54691082924720
Content-Type: text/plain ; name="fpexc.txt"; charset=us-ascii
Content-Description: fpexc.txt
Content-Disposition: attachment; filename="fpexc.txt"
Index: Makefile
===================================================================
RCS file: /cvsroot/src/regress/lib/libc/ieeefp/except/Makefile,v
retrieving revision 1.5
diff -u -r1.5 Makefile
--- Makefile 18 Sep 2002 05:41:38 -0000 1.5
+++ Makefile 20 Apr 2006 11:37:31 -0000
@@ -4,6 +4,11 @@
PROG= except
+.include <bsd.own.mk>
+.if defined(MKSOFTFLOAT) && (${MKSOFTFLOAT} != "no")
+CPPFLAGS+= -DSOFTFLOAT
+.endif
+
regress: ${PROG}
./${PROG}
Index: except.c
===================================================================
RCS file: /cvsroot/src/regress/lib/libc/ieeefp/except/except.c,v
retrieving revision 1.9
diff -u -r1.9 except.c
--- except.c 25 Mar 2004 15:12:42 -0000 1.9
+++ except.c 20 Apr 2006 11:37:31 -0000
@@ -161,7 +161,11 @@
BARRIER();
}
assert(signal_caught == 1);
- assert(sicode == ops[i].sicode);
+ assert(sicode == ops[i].sicode
+#ifdef SOFTFLOAT /* sent by raise(3) */
+ || sicode == SI_USER
+#endif
+ );
signal_caught = 0;
}
--==_Exmh_54691082924720--
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.