Changes between Version 10 and Version 11 of GSoC/2019/POSIX_Compliance
- Timestamp:
- 08/24/19 04:46:05 (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GSoC/2019/POSIX_Compliance
v10 v11 31 31 * [https://medium.com/my-gsoc-2019-journey/build-rtems-for-sparc-architecture-on-linux-host-227e0a99b703 My Medium Blog] 32 32 33 == 3) - Project Sandboxing on my System ==33 == 3) - Project Sandboxing On My System == 34 34 35 35 {{{ … … 56 56 }}} 57 57 58 == 4) - Managing Autoconf versions in sub-directories of Newlib Source Tree ==58 == 4) - Managing `autoconf` Versions In Sub-Directories Of Newlib Source Tree == 59 59 60 60 Newlib 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. … … 63 63 I 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?] 64 64 65 == 5) - Apply Newlib Patche to RTEMS Source Builder ==65 == 5) - Apply Newlib Patches To RTEMS Source Builder == 66 66 67 67 Once 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. … … 75 75 * Documentation was updated for the same: https://docs.rtems.org/branches/master/user/rsb/project-sets.html#testing-a-newlib-patch 76 76 77 == 6) - Task: Add test-suite for `<inttypes.h>` methods ==77 == 6) - Task: Add Test-Suite For `<inttypes.h>` Methods == 78 78 79 79 //This was a pending task, original work belongs to the GSoC 2017 student of same project//. The working directory is : `rtems/testsuites/psxtests`. 80 80 81 ==== 6.1) - Modify the testsuite `psxinttypes01/init.c` ====81 ==== 6.1) - Modify The Test-Suite `psxinttypes01/init.c` ==== 82 82 83 83 There 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. … … 85 85 The patch: https://devel.rtems.org/changeset/d9fcb22/rtems 86 86 87 ==== 6.2) - Add `psxinttypes01/psxinttypes01.doc` and `psxinttypes01/psxinttypes01.scn` ====87 ==== 6.2) - Add `psxinttypes01/psxinttypes01.doc` And `psxinttypes01/psxinttypes01.scn` ==== 88 88 89 89 ==== 6.3) - Modify `configure.ac` ==== … … 137 137 }}} 138 138 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 ==== 142 142 143 143 This 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. 144 144 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 ==== 148 148 149 149 The 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 150 150 applied the `ndbm` patch to RSB. 151 151 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` ==== 155 155 156 156 ==== 8.4) - Modify `Makefile.am` ==== … … 219 219 }}} 220 220 221 == 9) - Task: Port `fenv` for `ARM`, `PPC` and `SPARC` ==221 == 9) - Task: Port `fenv` For `ARM`, `PPC` And `SPARC` == 222 222 223 223 The task started with finding the sources to port the header. FreeBSD and NetBSD are most suitable for this as they are under favorable license. … … 232 232 Attempts 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. 233 233 234 == 10) - Links to my contribution ==234 == 10) - Links To My Contribution == 235 235 236 236 * [https://devel.rtems.org/changeset/d9fcb22/rtems psxtests: Add psxinttypes01 for <inttypes.h> methods] … … 242 242 * [https://git.rtems.org/rtems-docs/commit/?id=360560024726cd6166b1eaeda55ee8512594f1ca Add steps to test Newlib patch] 243 243 244 == 11) - New methods ported: ==244 == 11) - New Methods Ported: == 245 245 246 246 * `int dbm_clearerr(DBM *);` … … 255 255 * `int dbm_dirfno(DBM *);` 256 256 257 == 12) - Test-Suites Developed: == 258 259 * `psxinttypes01` - `inttypes.h` Test-Suite. 260 * `psxndbm01` - `ndbm.h` Test-Suite. 261 257 262 == References == 258 263