Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 May 2005 01:21:36 +0200
From:      Marc Olzheim <marcolz@stack.nl>
To:        Daniel Eischen <deischen@freebsd.org>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: Floating point exceptions with -pthread
Message-ID:  <20050504232136.GD1886@stack.nl>
In-Reply-To: <Pine.GSO.4.43.0505041905430.498-200000@sea.ntplx.net>
References:  <20050504230157.GA1886@stack.nl> <Pine.GSO.4.43.0505041905430.498-200000@sea.ntplx.net>

next in thread | previous in thread | raw e-mail | index | archive | help

--kvUQC+jR9YzypDnK
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, May 04, 2005 at 07:07:48PM -0400, Daniel Eischen wrote:
> > Question remains why the truncf() doesn't trigger it and the ceilf() and
> > floorf() does.

I just checked all files in /usr/src/lib/msun/i387/.
The following functions are the only ones using stackspace in the i387
dir, the rest just uses the arguments directly:

ceil*(), floor*(), {,l}lrint*(), trunc*().

Of those, only the ceilf(),floorf() and truncf() used more than %esp was
lowered.

> > And why it only triggers with threads (even a single thread is enough).
>=20
> For the latter, the threads library may place a stackframe on
> top of the swapped-out thread's stack.  Without threads, or
> even with libthr, the thread's stack doesn't get used by
> anything else.

Ah, that explains.

Thanks a lot, Daniel and David, for your help and time today!

Marc

--kvUQC+jR9YzypDnK
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (FreeBSD)

iD8DBQFCeVkAezjnobFOgrERAmFmAKC/zsD38W54raMw3i+b/Au/TuNX3gCgzCDx
oweH6vCoN1c0I0N00YZS8XY=
=nkLN
-----END PGP SIGNATURE-----

--kvUQC+jR9YzypDnK--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050504232136.GD1886>