GSoC 2019: POSIX Compliance - FENV Environment probably not working properly in RISCV

Vaibhav Gupta vaibhavgupta40 at gmail.com
Wed Aug 14 14:35:20 UTC 2019


You are also getting same error :(
I thought problem is with my system/laptop and was trying to correct things.
Should we take the discussion to newlib?

Vaibhav Gupta

On Wed, Aug 14, 2019 at 7:51 PM Joel Sherrill <joel at rtems.org> wrote:

>
> I ran it on sis built from the git repository. Unfortunately, the output
> doesn't match that I got on Linux.
>
> =============================
> $ ~/sis-riscv/install/bin/sis -riscv -gdb
>
>  SIS - SPARC/RISCV instruction simulator 2.17,  copyright Jiri Gaisler 2019
>  Bug-reports to jiri at gaisler.se
>
>  RISCV emulation enabled, 1 cpus online, delta 50 clocks
>
> gdb: listening on port 1234 connected
> X40000000,0:#72
>
>
> *** BEGIN OF TEST PSXFENV 01 ***
> *** TEST VERSION: 5.0.0.a4d7e4cee77d16b0e34ef543f0804e7eb2954137
> *** TEST STATE: EXPECTED-PASS
> *** TEST BUILD: RTEMS_POSIX_API
> *** TEST TOOLS: 9.1.0 20190503 (RTEMS 5, RSB
> be90fb89678206e469f2f9189eb290cec49fd827, Newlib 6661a67)
>
> Divide by zero and confirm fetestexcept().
>
> 8
> 0
> 1
>
> *** END OF TEST PSXFENV 01 ***
>
>
> *** FATAL ***
> fatal source: 5 (RTEMS_FATAL_SOURCE_EXIT)
> fatal code: 0 (0x00000000)
> RTEMS version: 5.0.0.a4d7e4cee77d16b0e34ef543f0804e7eb2954137
> RTEMS tools: 9.1.0 20190503 (RTEMS 5, RSB
> be90fb89678206e469f2f9189eb290cec49fd827, Newlib 6661a67)
> executing thread ID: 0x08a010001
> executing thread name: UI1
> =============================
> On Wed, Aug 14, 2019 at 7:55 AM Vaibhav Gupta <vaibhavgupta40 at gmail.com>
> wrote:
>
>>
>>
>> On Wed, Aug 14, 2019 at 6:22 PM Hesham Almatary <heshamelmatary at gmail.com>
>> wrote:
>>
>>> On Sun, 11 Aug 2019 at 16:49, Vaibhav Gupta <vaibhavgupta40 at gmail.com>
>>> wrote:
>>> >
>>> > Configure command I used to build BSP:
>>> > ==============================================
>>> > $ /home/varodek/development/rtems/kernel/rtems/configure
>>> --prefix=/home/varodek/development/rtems/5 --enable-maintainer-mode
>>> --target=riscv-rtems5 --enable-rtemsbsp=rv32imac --enable-tests
>>> --enable-posix --disable-networking --enable-cxx RISCV_ENABLE_HTIF_SUPPORT=1
>>> > ==============================================
>>> > .
>>> RISCV_ENABLE_HTIF_SUPPORT=1 should only be used if you're going to run
>>> on a Spike platform. I see you're using virt below
>>>
>> Yah this was the time I was doing all kind of experiments to run the
>> hello  world thing.
>> I have disabled HTIF now.
>>
>>>
>>> > .
>>> > .
>>> > .
>>> > Qemu command I used to run test:
>>> > ==============================================
>>> > $ qemu-system-riscv32 -no-reboot -nographic -machine virt -m 256M
>>> -kernel psxfenv01.exe
>>> > ==============================================
>>> > .
>>> > .
>>> > .
>>> > .
>>> > Makefile.am
>>> > ==============================================
>>> > + if TEST_psxfenv01
>>> > + psx_tests += psxfenv01
>>> > + psxfenv01_SOURCES = psxfenv01/init.c
>>> > + psxfenv01_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_psxfenv01) \
>>> > +       $(support_includes)
>>> > + psxfenv01_LDADD = -lm $(LDADD)
>>> > + endif
>>> > +
>>> > ==============================================
>>> >
>>> > On Sun, Aug 11, 2019 at 8:36 PM Vaibhav Gupta <
>>> vaibhavgupta40 at gmail.com> wrote:
>>> >>
>>> >> My code of testsuite:
>>> >> ===============================================
>>> >>   /* Test 'FE_DIVBYZERO' */
>>> >>   puts( "\nDivide by zero and confirm fetestexcept()." );
>>> >>   a = 0.0;
>>> >>   b = 1.0;
>>> >>   c = b/a;
>>> >>   printf("\n%d",FE_DIVBYZERO);
>>> >>   fegetexceptflag(&excepts,FE_ALL_EXCEPT);
>>> >>   printf("\n%d",excepts);
>>> >>   r = feraiseexcept(FE_DIVBYZERO);
>>> >>   printf("\n%d\n",r);
>>> >>   rtems_test_assert( fetestexcept( FE_DIVBYZERO ) );
>>> >> ==============================================
>>> >> OUTPUT
>>> >> ==============================================
>>> >> Divide by zero and confirm fetestexcept().
>>> >>
>>> >> 8
>>> >> 0
>>> >> 1
>>> >>
>>> /home/varodek/development/rtems/kernel/rtems/c/src/../../testsuites/psxtests/psxfenv01/init.c:
>>> 84 fetestexcept( FE_DIVBYZERO )
>>> >> ==============================================
>>> >> EXPECTED OUTPUT
>>> >> ==============================================
>>> >> Divide by zero and confirm fetestexcept().
>>> >>
>>> >> 8
>>> >> 8
>>> >> 0
>>> >> ==============================================
>>> >> - fetestexcept( FE_DIVBYZERO ), should return a non-zero value as
>>> division-by-zero was performed.
>>> >> .
>>> >> - feraiseexcept(FE_DIVBYZERO); is also not working. It should return
>>> zero when successful
>>> >> .
>>> >> ==============================================
>>> >>
>>> >> Thank You
>>> >> Vaibhav Gupta
>>> >>
>>> > _______________________________________________
>>> > devel mailing list
>>> > devel at rtems.org
>>> > http://lists.rtems.org/mailman/listinfo/devel
>>>
>>> --
>>> Hesham
>>>
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20190814/034189fc/attachment-0002.html>


More information about the devel mailing list