This is the mail archive of the ecos-patches@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug 1001539] Single precision floating point math library


Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001539

--- Comment #11 from Sergei Gavrikov <sergei.gavrikov@gmail.com> 2012-03-21 18:36:01 GMT ---
(In reply to comment #10)
> (In reply to comment #9)

> Library is not tied to any architecture, we took it from Newlib and
> merely adapted to eCos by studying the differences between "double"
> libs.. My standard testing is with Cortex-M3 settings -mcpu=cortex-m3
> -mthumb -O2 which is default even for Kinetis (until we switch to
> gcc-4.6).

> >Thus, I thought that I missed something in eCos configuration. Could
> >you provide your ecm-file?
>
> There isn't much for ecm file, only startup type.
>
> It would be good if you could try with some ARM target. FYI, example
> tests that fail on my platform are: asinf(x) |x| > 1, acosf(x) |x| >
> 1, logf(x) x < 0.  Pass: tanf(), expf(), cosf(), etc...

Iljia, thanks for guidance. So, I got the same results for ARM7TDMI (LE)
target (default template, RAM startup, run in GDB, build with GCC 4.6.3)

  ECOS_GLOBAL_CFLAGS = -Wall -Wpointer-arith -Wstrict-prototypes -Wundef
-Woverloaded-virtual -Wno-write-strings -mno-thumb-interwork -mcpu=arm7tdmi -g
-O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions
  ECOS_GLOBAL_LDFLAGS = -mno-thumb-interwork -mcpu=arm7tdmi -Wl,--gc-sections
-Wl,-static -g -nostdlib
  ECOS_COMMAND_PREFIX = arm-eabi-

f-tests passed:

  PASS:<atan2f() is stable>
  PASS:<atanf() is stable>
  PASS:<ceilf() is stable>
  PASS:<cosf() is stable>
  PASS:<coshf() is stable>
  PASS:<expf() is stable>
  PASS:<fabsf() is stable>
  PASS:<floorf() is stable>
  PASS:<fmodf() is stable>
  PASS:<ldexpf() is stable>
  PASS:<powf() is stable>
  PASS:<sinf() is stable>
  PASS:<sinhf() is stable>
  PASS:<sqrtf() is stable>
  PASS:<tanf() is stable>
  PASS:<tanhf() is stable>

f-tests failed:

  FAIL:<acosf() failed tests> Line: 92, File: ... vectors/acosf.c
  FAIL:<asinf() failed tests> Line: 92, File: ... vectors/asinf.c
  FAIL:<frexpf() failed tests> Line: 92, File: ... vectors/frexpf.c
  FAIL:<log10f() failed tests> Line: 92, File: ... vectors/log10f.c
  FAIL:<logf() failed tests> Line: 92, File: ... vectors/logf.c

There were 42 warnings [-Wunused-function] in the build (otherwise, all
is clean). One fix would be to add a prototyping for doTestVec() and
doTestVecFloat() in tests/vector_support.h with GCC attribute unused

  static cyg_bool
  doTestVec(CYG_ADDRESS func_ptr,
            Cyg_libm_test_arg_type arg1_type,
            Cyg_libm_test_arg_type arg2_type,
            Cyg_libm_test_arg_type result_type,
            const Cyg_libm_test_double_vec_t * vectors,
            cyg_ucount32 num_vectors)
      CYGBLD_ATTRIB_UNUSED;

and the same for doTestVecFloat(), then build is silent.

Thanks. Be continue.

Sergei

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]