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: matt
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Apr 20 10:00:00 +0000 2006
>Closed-Date: Sun Dec 21 20:07:21 +0000 2025
>Last-Modified: Sun Dec 21 20:07:21 +0000 2025
>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.
>Release-Note:
>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--
Responsible-Changed-From-To: bin-bug-people->matt
Responsible-Changed-By: riastradh@NetBSD.org
Responsible-Changed-When: Sun, 21 Dec 2025 20:07:21 +0000
Responsible-Changed-Why:
matt@ fixed it
State-Changed-From-To: open->closed
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Sun, 21 Dec 2025 20:07:21 +0000
State-Changed-Why:
This was fixed back in 2011 by matt@, using sigqueueinfo:
https://mail-index.netbsd.org/source-changes/2011/03/04/msg019518.html
The tests had been converted from regress/ to atf earlier in the year:
https://mail-index.netbsd.org/source-changes/2011/01/02/msg016528.html
https://mail-index.netbsd.org/source-changes/2011/01/02/msg016529.html
and were then moved to their current location,
lib/libc/gen/t_fpsetmask, later that year:
https://mail-index.netbsd.org/source-changes/2011/09/19/msg027363.html
The corresponding t_fpsetmask tests are currently passing in softfloat
test runs like this one:
https://www.netbsd.org/~martin/landisk-atf/292_atf.html
https://web.archive.org/web/20251221200602/https://www.netbsd.org/~martin/landisk-atf/292_atf.html
All affected branches are long since EOL, so we can just close this.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.51 2026/08/10 02:28:17 riastradh Exp $
$NetBSD: gnats_config.sh,v 1.10 2026/05/13 22:00:09 riastradh Exp $
Copyright © 1994-2026
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.