disabling libm

J. Johnston jjohnstn@redhat.com
Wed Jun 4 21:27:00 GMT 2003

Joel Sherrill wrote:
> "J. Johnston" wrote:
>>Joel Sherrill wrote:
>>>I am trying to update my tic4x toolset.  The tic4x does not
>>>use IEEE FP.  The last time I looked into this, the newlib libm
>>>was very IEEE FP format dependent.  It would be easier to not
>>>have newlib's libm for now.  Is it possible to completely disable
>>>it for a target?
>>It is definitely "possible" via configuration; the question is whether
>>it is warranted.  Does the build fail or do any of the libm files
>>placed in libc cause problems?  I assume you are already just linking
>>in your own libm stuff anyway.
> I have managed to get a build to complete at this point with libm.
> Speaking without doing an up to date analysis, this libm is heavily 
> dependent on IEEE floating point format.  The tic4x target is not
> IEEE so very little if anything works even if it compiles.  
> I have a hacked together libm substitute that is far from optimal
> but tries to be portable.  But really I would like to see newlib
> work better with non-IEEE FPUs.  Any ideas?

Well, the mathfp stuff uses a number of floating-point algorithms
that should work for the platform.  So, for starters. try
--enable-newlib-hw-fp to configure.  There are still some IEEE-isms
found there, but a lot of basics are provided (e.g. sin/cos) in
float algorithms.

You will need to replace a number of the routines in libm/common.
For this, there is the libm/machine directory.  Add a tic4x directory
and start adding stuff in there.  With the stuff in common replaced,
you should have a good basic math set.  Finally, you can replace any
other remaining routines in mathfp that are IEEE dependent.

-- Jeff J.

More information about the Newlib mailing list