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

Vaibhav Gupta vaibhavgupta40 at gmail.com
Tue Aug 13 22:37:26 UTC 2019


On Wed, Aug 14, 2019 at 4:04 AM Joel Sherrill <joel at rtems.org> wrote:

>
>
> On Tue, Aug 13, 2019 at 5:09 PM Vaibhav Gupta <vaibhavgupta40 at gmail.com>
> wrote:
>
>>
>>
>> On Mon, Aug 12, 2019 at 11:50 PM Joel Sherrill <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>
>>> 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>
>>>> 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
>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20190814/b2f0933d/attachment.html>


More information about the devel mailing list