Changes between Version 10 and Version 11 of GSoC/2019/POSIX_Compliance


Ignore:
Timestamp:
08/24/19 04:46:05 (5 years ago)
Author:
Vaibhav Gupta
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GSoC/2019/POSIX_Compliance

    v10 v11  
    3131* [https://medium.com/my-gsoc-2019-journey/build-rtems-for-sparc-architecture-on-linux-host-227e0a99b703 My Medium Blog]
    3232 
    33 == 3) - Project Sandboxing on my System ==
     33== 3) - Project Sandboxing On My System ==
    3434
    3535{{{
     
    5656}}}
    5757
    58 == 4) - Managing Autoconf versions in sub-directories of Newlib Source Tree ==
     58== 4) - Managing `autoconf` Versions In Sub-Directories Of Newlib Source Tree ==
    5959
    6060Newlib is the RTEMS's choice for its C library, hence, most of the the contribution will be done in Newlib source tree. As other good projects, Newlib also uses **Autoconf** tools for producing **“Makefile.in”** and various other useful scripts.
     
    6363I wrote a blog for this: [https://medium.com/my-gsoc-2019-journey/how-to-handle-two-versions-of-autoconf-b1e28de8617b How To Handle Two Versions of autoconf?]
    6464
    65 == 5) - Apply Newlib Patche to RTEMS Source Builder ==
     65== 5) - Apply Newlib Patches To RTEMS Source Builder ==
    6666
    6767Once you make changes or add new code to Newlib source tree, you are required to send the patch to their mailing list. Here, org admins will review the patch and if everything goes good, it will merged in the master branch.
     
    7575* Documentation was updated for the same: https://docs.rtems.org/branches/master/user/rsb/project-sets.html#testing-a-newlib-patch
    7676
    77 == 6) - Task: Add test-suite for `<inttypes.h>` methods ==
     77== 6) - Task: Add Test-Suite For `<inttypes.h>` Methods ==
    7878
    7979//This was a pending task, original work belongs to the GSoC 2017 student of same project//. The working directory is : `rtems/testsuites/psxtests`.
    8080
    81 ==== 6.1) - Modify the testsuite `psxinttypes01/init.c` ====
     81==== 6.1) - Modify The Test-Suite `psxinttypes01/init.c` ====
    8282
    8383There was need to modify the original code to add some more tests and fix some bugs. `inttypes` uses [http://pubs.opengroup.org/onlinepubs/009695399/functions/strtoimax.html strtoimax] and [http://pubs.opengroup.org/onlinepubs/009695399/functions/wcstoimax.html wcstoimax]. The 'opengroup' page contains every information to write testcases. For a good testsuite, every output (expected or error value) has to be verified.
     
    8585The patch: https://devel.rtems.org/changeset/d9fcb22/rtems
    8686
    87 ==== 6.2) - Add `psxinttypes01/psxinttypes01.doc` and `psxinttypes01/psxinttypes01.scn` ====
     87==== 6.2) - Add `psxinttypes01/psxinttypes01.doc` And `psxinttypes01/psxinttypes01.scn` ====
    8888
    8989==== 6.3) - Modify `configure.ac` ====
     
    137137}}}
    138138
    139 == 7) - Task: Port `ndbm` from FreeBSD to Newlib ==
    140 
    141 ==== 7.1) - Figure out the location to place the declarations and definitions ====
     139== 7) - Task: Port `ndbm` From FreeBSD To Newlib ==
     140
     141==== 7.1) - Figure Out The Location to Place The Declarations And Definitions ====
    142142
    143143This was necessary because according to the definition, `ndbm.h` has to be placed in `libc\include` and `ndbm.c` should be placed in `libc/posix` directory but according to environment and support, `ndbm.c` was shifted to `libc/search` directory.
    144144
    145 == 8) - Task: Develop test-suite for `ndbm` ==
    146 
    147 ==== 8.1) - Apply `ndbm` patch from newlib to RSB ====
     145== 8) - Task: Develop Test-Suite For `ndbm` ==
     146
     147==== 8.1) - Apply `ndbm` Patch From Newlib to RSB ====
    148148
    149149The porting was complete and the patch was sent to Newlib Mailing list. But it could take time to be pushed. Since, to make test-suite, we need `ndbm` in RTEMS tool-chain, we
    150150applied the `ndbm` patch to RSB.
    151151
    152 ==== 8.2) - Develop test-suite ====
    153 
    154 ==== 8.3) - Add `psxndbm01.scn` and `psxndbm01.doc` ====
     152==== 8.2) - Develop Test-Suite ====
     153
     154==== 8.3) - Add `psxndbm01.scn` And `psxndbm01.doc` ====
    155155
    156156==== 8.4) - Modify `Makefile.am` ====
     
    219219}}}
    220220
    221 == 9) - Task: Port `fenv` for `ARM`, `PPC` and `SPARC` ==
     221== 9) - Task: Port `fenv` For `ARM`, `PPC` And `SPARC` ==
    222222
    223223The task started with finding the sources to port the header. FreeBSD and NetBSD are most suitable for this as they are under favorable license.
     
    232232Attempts made to develop testsuite by testing it for RISC-V failied initially as exceptions are not being raised by the BSP as expected, hence developed the testsuite for Linux environment. It can be easily ported to RTEMS once we have atleast one architecture with fenv working.
    233233
    234 == 10) - Links to my contribution ==
     234== 10) - Links To My Contribution ==
    235235
    236236* [https://devel.rtems.org/changeset/d9fcb22/rtems psxtests: Add psxinttypes01 for <inttypes.h> methods]
     
    242242* [https://git.rtems.org/rtems-docs/commit/?id=360560024726cd6166b1eaeda55ee8512594f1ca Add steps to test Newlib patch]
    243243
    244 == 11) - New methods ported: ==
     244== 11) - New Methods Ported: ==
    245245
    246246* `int     dbm_clearerr(DBM *);`
     
    255255* `int     dbm_dirfno(DBM *);`
    256256
     257== 12) - Test-Suites Developed: ==
     258
     259* `psxinttypes01` - `inttypes.h` Test-Suite.
     260* `psxndbm01`     - `ndbm.h` Test-Suite.
     261
    257262== References ==
    258263