NetBSD Problem Report #57881
From www@netbsd.org Sat Jan 27 15:35:30 2024
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 324E91A9239
for <gnats-bugs@gnats.NetBSD.org>; Sat, 27 Jan 2024 15:35:30 +0000 (UTC)
Message-Id: <20240127153430.8E6E11A923A@mollari.NetBSD.org>
Date: Sat, 27 Jan 2024 15:34:30 +0000 (UTC)
From: campbell+netbsd@mumble.net
Reply-To: campbell+netbsd@mumble.net
To: gnats-bugs@NetBSD.org
Subject: vax libm is missing various symbols
X-Send-Pr-Version: www-1.0
>Number: 57881
>Category: port-vax
>Synopsis: vax libm is missing various symbols
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-vax-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Jan 27 15:40:01 +0000 2024
>Last-Modified: Wed Oct 02 12:50:01 +0000 2024
>Originator: Taylor R Campbell
>Release: current, 10, ...
>Organization:
The NetLibm Foundation
>Environment:
vax
>Description:
vax libm is missing various symbols including llround and rintf.
I mechanically compared amd64 libm and vax libm. The following symbols are in amd64 libm but not in vax libm (possibly missing, or possibly not applicable to vax -- I didn't put any further thought into this):
acoshf
acoshl
acosl
asinhf
asinhl
asinl
atan2l
atanhl
atanl
cabsf
coshl
cosl
dremf
erfcl
erfl
exp2l
expl
expm1l
fabsf
fabsl
fdim
fdimf
fdiml
feclearexcept
fedisableexcept
feenableexcept
fegetenv
fegetexcept
fegetexceptflag
fegetround
feholdexcept
feraiseexcept
fesetenv
fesetexceptflag
fesetround
fetestexcept
feupdateenv
fma
fmaf
fmal
fminl
frexp
frexpf
frexpl
gamma_r
gammaf
gammaf_r
ilogbl
isinff
j0f
j1f
jnf
lgamma_r
lgammaf
lgammaf_r
lgammal
llrintl
llround
llroundf
llroundl
log10l
log1pl
log2l
logl
lrintl
lroundl
matherr
modf
modff
nearbyint
nearbyintf
nearbyintl
nextafter
nextafterf
nextafterl
nexttoward
nexttowardf
nexttowardl
remainder
remainderf
remainderl
remquo
remquof
remquol
rintf
rintl
scalbf
scalbln
scalblnf
scalblnl
significand
significandf
sincosl
sinhl
sinl
tanhl
tanl
tgamma
tgammaf
tgammal
y0f
y1f
ynf
Also, the following symbols are in vax libm but not in amd64 libm (possibly only relevant on vax, or possibly extraneous internal symbols that shouldn't have been exposed):
d_cbrt
d_sqrt
dcbrt_
infnan
z_abs
>How-To-Repeat:
build mesa
>Fix:
Yes, please!
>Audit-Trail:
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/57881 CVS commit: src/tests/lib/libm
Date: Sun, 5 May 2024 14:29:38 +0000
Module Name: src
Committed By: riastradh
Date: Sun May 5 14:29:38 UTC 2024
Modified Files:
src/tests/lib/libm: t_next.c
Log Message:
tests/lib/libm/t_next: Disable this test on VAX.
But leave a replacement xfail test that fails unconditionally, to
leave a reminder in the tests of PR 57881: vax libm is missing
various symbols.
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libm/t_next.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/57881 CVS commit: src/lib/libm/arch/vax
Date: Mon, 6 May 2024 15:33:04 +0000
Module Name: src
Committed By: riastradh
Date: Mon May 6 15:33:04 UTC 2024
Modified Files:
src/lib/libm/arch/vax: n_sincos.S n_tan.S
Log Message:
libm: Expose sinl, cosl, tanl on vax.
While here, make sin, cos, and tan be weak aliases for internal
symbols _sin, _cos, and _tan; likewise sinf, cosf, tanf.
PR 57881
To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/lib/libm/arch/vax/n_sincos.S
cvs rdiff -u -r1.7 -r1.8 src/lib/libm/arch/vax/n_tan.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/57881 CVS commit: src/lib/libm/noieee_src
Date: Mon, 6 May 2024 15:52:53 +0000
Module Name: src
Committed By: riastradh
Date: Mon May 6 15:52:53 UTC 2024
Modified Files:
src/lib/libm/noieee_src: n_sincos1.c
Log Message:
libm: Expose sincosl on vax.
PR 57881
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/libm/noieee_src/n_sincos1.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/57881 CVS commit: src/lib/libm/arch/vax
Date: Tue, 7 May 2024 15:49:34 +0000
Module Name: src
Committed By: riastradh
Date: Tue May 7 15:49:33 UTC 2024
Modified Files:
src/lib/libm/arch/vax: n_atan2.S
Log Message:
libm/arch/vax: Expose atan2l.
PR port-vax/57881: vax libm is missing various symbols
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/lib/libm/arch/vax/n_atan2.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/57881 CVS commit: src/lib/libm
Date: Wed, 8 May 2024 02:08:11 +0000
Module Name: src
Committed By: riastradh
Date: Wed May 8 02:08:11 UTC 2024
Modified Files:
src/lib/libm: m.vax.expsym
src/lib/libm/noieee_src: n_floor.c
Log Message:
libm: Add rintl, rintf to non-IEEE754 architectures.
While here, delete #ifdef to handle ns32k -- I don't think that's
gonna be relevant any time soon; in case you hadn't noticed, the
world has moved on from ns32k to vax by now.
PR 57881
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/lib/libm/m.vax.expsym
cvs rdiff -u -r1.8 -r1.9 src/lib/libm/noieee_src/n_floor.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/57881 CVS commit: src/lib/libm/noieee_src
Date: Thu, 9 May 2024 12:18:48 +0000
Module Name: src
Committed By: riastradh
Date: Thu May 9 12:18:48 UTC 2024
Modified Files:
src/lib/libm/noieee_src: n_ilogb.c
Log Message:
libm: Define ilogbl as alias for ilogb on vax.
PR 57881
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/libm/noieee_src/n_ilogb.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/57881 CVS commit: src/lib/libm
Date: Sun, 9 Jun 2024 14:09:27 +0000
Module Name: src
Committed By: riastradh
Date: Sun Jun 9 14:09:27 UTC 2024
Modified Files:
src/lib/libm: m.vax.expsym
src/lib/libm/noieee_src: n_lgamma.c
Log Message:
libm: Define lgamma_r, lgammal, lgammal_r on non-IEEE754.
Missing internal aliases _lgamma_r and _lgammal_r -- TBD.
PR 57881
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/lib/libm/m.vax.expsym
cvs rdiff -u -r1.7 -r1.8 src/lib/libm/noieee_src/n_lgamma.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Rin Okuyama" <rin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/57881 CVS commit: src/tests/lib/libm
Date: Fri, 20 Sep 2024 22:24:51 +0000
Module Name: src
Committed By: rin
Date: Fri Sep 20 22:24:51 UTC 2024
Modified Files:
src/tests/lib/libm: t_remquo.c
Log Message:
t_remquo: Work around missing remquo(3) for vax
Part of PR port-vax/57881
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libm/t_remquo.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/57881 CVS commit: [netbsd-10] src
Date: Wed, 2 Oct 2024 12:46:14 +0000
Module Name: src
Committed By: martin
Date: Wed Oct 2 12:46:13 UTC 2024
Modified Files:
src/distrib/sets/lists/debug [netbsd-10]: mi
src/distrib/sets/lists/tests [netbsd-10]: mi
src/lib/libm/src [netbsd-10]: s_remquo.c
src/tests/lib/libm [netbsd-10]: Makefile
Added Files:
src/tests/lib/libm [netbsd-10]: t_remquo.c
Log Message:
Pull up following revision(s) (requested by gdt in ticket #912):
distrib/sets/lists/debug/mi: revision 1.449
lib/libm/src/s_remquo.c: revision 1.3
lib/libm/src/s_remquo.c: revision 1.4
distrib/sets/lists/tests/mi: revision 1.1339
tests/lib/libm/t_remquo.c: revision 1.1
tests/lib/libm/t_remquo.c: revision 1.2
tests/lib/libm/Makefile: revision 1.51
tests: Add test for remquo
This test currently fails, because remquo has bugs. (A bugfix will be
committed soon.) Test vectors derived from results from code by
Charles Karney in GeodesicLib/proj, and manually inspected.
t_remquo: Work around missing remquo(3) for vax
Part of PR port-vax/57881
libm/remquo: Fix bug where wrong quotient was returned
Fix taken from FreeBSD:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=166463
https://cgit.freebsd.org/src/commit/lib/msun/src/s_remquo.c?id=1cbd288942b08217e99bf889e0967895d53af00c
FreeBSD commit message:
Fix a bug in remquo{,f,l}, in which the quotient didn't always have the
correct sign when the remainder was 0.
Fix a separate bug in remquo alone, in which the remainder and
quotient were both off by a bit in certain cases involving subnormal
remainders.
The bugs affected all platforms except amd64 and i386, on which the
routines are implemented in assembly.
(On NetBSD, this bug manifests on amd64.)
libm/remquo: Fix bug where remquo returned wrong sign of quo
ISO C requires that quo be congruent to the quotient mod 2^k and have
a particular sign. The current code can return 0 when it should be
negative.
Because the code chooses k=31 (for the requirement of congruence
modulo 2^k), the only value available (in ILP32 or LP64) that is
negative and congruent to 0 is 0x80000000. In the specific case of
wanting "-0", return 0x80000000.
Resolves t_remquo test failure.
To generate a diff of this commit:
cvs rdiff -u -r1.394.2.9 -r1.394.2.10 src/distrib/sets/lists/debug/mi
cvs rdiff -u -r1.1238.2.11 -r1.1238.2.12 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.1 -r1.1.56.1 src/lib/libm/src/s_remquo.c
cvs rdiff -u -r1.48 -r1.48.2.1 src/tests/lib/libm/Makefile
cvs rdiff -u -r0 -r1.2.2.2 src/tests/lib/libm/t_remquo.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
(Contact us)
$NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2024
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.