Return to BSD News archive
Received: by minnie.vk1xwt.ampr.org with NNTP id AA1078 ; Tue, 23 Feb 93 14:25:17 EST Newsgroups: comp.unix.bsd Path: sserve!manuel.anu.edu.au!munnari.oz.au!spool.mu.edu!howland.reston.ans.net!usenet.ins.cwru.edu!agate!doc.ic.ac.uk!warwick!pipex!demon!robobar!steve From: steve@robobar.co.uk (Steve Bleazard) Subject: Re: [386bsd] PATCH: libc::ldexp() Organization: Robobar Ltd., Perivale, Middx., ENGLAND. Date: Wed, 10 Feb 1993 09:25:46 GMT Message-ID: <1993Feb10.092546.27272@robobar.co.uk> References: <1993Feb1.133820.9016@data.fls.dk> Lines: 30 In article <1993Feb1.133820.9016@data.fls.dk> phk@data.fls.dk (P-HK/Poul-Henning Kamp) writes: >Here is a patch which creates a new file: > > /usr/src/lib/libc/i386/gen/ldexp.s > >containing an assembler version of ldexp() instead of inline assembler in C. [stuff deleted] >+ ENTRY(ldexp) >+ fildl 12(%esp) >+ fldl 4(%esp) >+ fscale >+ fxch %st(1) >+ fstpl -8(%esp) /* How do I pop a value ??? */ fstp %st(0) /* official way to pop a value >+ ret On SCO Unix the fstpl -8(%esp) caused a memory fault because the address was out of bounds. Dunno why, but this may cause a problem on BSD if the stack is managed in the same way. Steve -- Steve.Bleazard@RoboBar.Co.Uk | Phone: +44 81 991 1142 x153 Snr Software Engineer, Robobar Ltd. | Fax: +44 81 998 8343 (G3) 22 Wadsworth Road, Perivale. | Middx., UB6 7JD ENGLAND. | ...!ibmpcug!robobar!steve