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

Jiri Gaisler jiri at gaisler.se
Wed Aug 14 07:18:30 UTC 2019


I have attached the sis manual. Page 17:

"SIS can be connected to gdb through a network socket using the gdb remote interface.
Either start SIS with -gdb, or issue the ’gdb’ command inside SIS, and connect gdb with
’target extended-remote localhost:1234’. The port can be changed using the -port option."

You still need all other options, so to start on a windows host do:

$ riscv-rtems-sis -riscv -nouartrx -gdb

To start gdb, do:

$ riscv-rtems-gdb app.exe

(gdb) target extended-remote localhost:1234

(gdb) load

(gdb) run

To re-run the application, issue a new load command first.

Regards, Jiri.

On 8/14/19 12:37 AM, Vaibhav Gupta wrote:
>
>
> On Wed, Aug 14, 2019 at 4:04 AM Joel Sherrill <joel at rtems.org <mailto:joel at rtems.org>> wrote:
>
>
>
>     On Tue, Aug 13, 2019 at 5:09 PM Vaibhav Gupta <vaibhavgupta40 at gmail.com <mailto:vaibhavgupta40 at gmail.com>> wrote:
>
>
>
>         On Mon, Aug 12, 2019 at 11:50 PM Joel Sherrill <joel at rtems.org <mailto:joel at rtems.org>> wrote:
>
>             Can you post or email me privately the full patch? I can try to see what I spot.
>
>         I have sent you the patch.
>
>
>             Can you check with objdump or gdb that the methods which don't appear to work 
>             are actually the RISC-V implementation? Look at the disassembly and see if it
>             looks like you expect.
>
>         I am exploring for this.
>
>
>     Since I don't know how to attach gdb to the new sis for griscv, I emailed Jiri privately.
>     Your program works as expected on Linux. Perhaps Jiri has some advice for my
>     debugging setup ignorance and fenv on RISC-V.
>
> Okay, I will wait. Till then I can work with porting for other architecture. :)
>
>
>     Do you happen to have fenv support for another architecture queued up? It would be
>     interesting to see if it works on other targets.
>
> Yup, they were in my to do list. Till testsuite method is solved, I will work on them now.
>
> - Vaibhav Gupta
>
>
>     --joel
>      
>
>
>         - Vaibhav Gupta
>
>
>             Does this require a patch to newlib as well?
>
>             --joel
>
>             On Sun, Aug 11, 2019 at 10:49 AM Vaibhav Gupta <vaibhavgupta40 at gmail.com <mailto: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
>                 ==============================================
>                 .
>                 .
>                 .
>                 .
>                 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 <mailto: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 <mailto:devel at rtems.org>
>                 http://lists.rtems.org/mailman/listinfo/devel
>
>
> _______________________________________________
> 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/f98875b7/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sis.pdf
Type: application/pdf
Size: 216336 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20190814/f98875b7/attachment-0002.pdf>


More information about the devel mailing list