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:

NetBSD Home
NetBSD PR Database Search

(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.