Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 May 2005 18:18:25 -0400
From:      David Schultz <das@freebsd.org>
To:        Daniel Eischen <deischen@freebsd.org>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: Floating point exceptions with -pthread
Message-ID:  <20050504221825.GA22732@VARK.MIT.EDU>
In-Reply-To: <Pine.GSO.4.43.0505041741310.498-100000@sea.ntplx.net>
References:  <20050504205745.GH76171@stack.nl> <Pine.GSO.4.43.0505041741310.498-100000@sea.ntplx.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, May 04, 2005, Daniel Eischen wrote:
> On Wed, 4 May 2005, Marc Olzheim wrote:
> 
> > On Wed, May 04, 2005 at 10:22:00PM +0200, Marc Olzheim wrote:
> > > So it really seems to be in the floorf() and ceilf() code.
> >
> > Say, isn't that instruction supposed to read 'flds    -8(%ebp);' ? (mark
> > the '-')
> 
> No, 8(%ebp) is where the function's argument is (the first
> instruction is a pushl, then %ebp is assigned from %esp).

Yeah, that part is fine.  The one odd thing I notice as a glance
back at the code is that it uses -12(%ebp) and -16(%ebp) for
temporary storage, instead of using -4(%ebp) and -8(%ebp) like
the double versions.  That's probably a cut-and-pasto on my
part.  This would explain the SIGFPEs if an asynchronous trap is
causing the area just past the end of the stack to be overwritten,
since only 8 bytes of stack are reserved.  I'll take a closer
look in a week or so...



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