Bug #399

add fenv to libm

Added by corecode over 7 years ago. Updated about 5 years ago.

Status:ClosedStart date:
Priority:LowDue date:
Assignee:pavalos% Done:

0%

Category:-
Target version:-

Description

okay, this will have to be fixed not to contain types from freebsd. i am sure that you only need to modify files in lib/libm.

the port to amd64 has already started. however, it is not finished. it is crucial that all future work strictly respects this fact and integrates amd64.

for some reason we are now using netbsd's libm, and they don't have special treatment of amd64. i am pretty sure that is not needed in any case, it is merely an optimization.

to install a cpu-specific header, just add

INCS+= fenv.h

in arch/i386/Makefile.inc

Besides that, the freebsd code contains unnecessary compatibility code which should be removed (like splitting mxcsr).

cheers
simon

History

#1 Updated by rumcic over 7 years ago

I got rid of the _types.h files and moved fenv.h to src/lib/libm/arch/i386/

The only changes in the source tree now are 2 new files (fenv.c and fenv.h)
and the modified Makefile.inc in lib/libm/arch/i386/.

The updated patch is located at http://www.rumko.net/dragonfly/fenv.diff

#2 Updated by corecode over 7 years ago

Okay, looks better. Could you please merge the fields __mxcsr_hi and
__mxcsr_lo into one uint32_t and remove the compat __[gs]et_mxcsr? we
don't have to maintain binary compatibility to freebsd 5.3.

cheers
simon

#3 Updated by rumcic over 7 years ago

Done, the patch as before is located at http://www.rumko.net/dragonfly/fenv.diff

#4 Updated by corecode over 5 years ago

could you please resubmit?

#5 Updated by pavalos about 5 years ago

I have this in my post-release branch.

#6 Updated by pavalos about 5 years ago

Fixed in 538ad03307793448b7abfc7e4bf08ba3fac8136e

Also available in: Atom PDF