This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: libm on SH7750.
- From: Jonathan Larmour <jifl at eCosCentric dot com>
- To: ryosuke-tajima at mosk dot tytlabs dot co dot jp
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Sat, 19 Oct 2002 05:17:08 +0100
- Subject: Re: [ECOS] libm on SH7750.
- References: <20021017.220724.112629790.e1243@tytlabs.co.jp>
ryosuke-tajima@mosk.tytlabs.co.jp wrote:
Hi, all. Thanks for very useful advice in this mailing list, and now I
have another problem.
I want to use math library on SH7750 system. I cannot get correct
result from some math function (sin, cos, and sqrt) in my program. The
result of multiply, division, plus and minus operation for floating
value is correct.
The sh-elf-gcc has several switch for floating operation, then, I
tried some math tests in eCos package with gcc switch -m4, -m4-single,
-m4-single-only. Result was:
-m4:
sqrt.c: passed.
cos.c, sin.c: hang up.
-m4-single:
sqrt.c: passed.
cos.c, sin.c: torelance error.
-m4-single-only:
Cannot compile because of an error "IEEE-style 64-bit
doubles are required to use the math library"
How can I use math library on SH4? Had anyone made these function work
correctly?
Given your follow up message, then I assume you have a hardware FPU.
Taking a brief look at the GCC docs, it appears that the correct setting
of -m4 versus -m4-single is a property of whether the FPU has been set up
in single or double precision mode by default. You should find out which
of these is the case.
The fact that -m4-single at least doesn't hang is _something_ in its
favour. The fact it gets a tolerance error may not necessarily mean
there's a problem - the maths tests only work by checking if a returned
value is withing an acceptable tolerance. It's possible that that in
single precision mode, the results are not quite accurate enough and hence
the tests fail. That's a good line of inquiry for you to check anyway.
Jifl
--
eCosCentric http://www.eCosCentric.com/ <info@eCosCentric.com>
--[ "You can complain because roses have thorns, or you ]--
--[ can rejoice because thorns have roses." -Lincoln ]-- Opinions==mine
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss