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

Vaibhav Gupta vaibhavgupta40 at gmail.com
Wed Aug 14 12:54:36 UTC 2019


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20190814/0f587224/attachment-0002.html>


More information about the devel mailing list