Changes between Version 20 and Version 21 of Projects/GCCGoRTEMS


Ignore:
Timestamp:
Jul 18, 2010, 9:36:33 PM (9 years ago)
Author:
Vinutheraj
Comment:

sub-sections

Legend:

Unmodified
Added
Removed
Modified
  • Projects/GCCGoRTEMS

    v20 v21  
    8484}}}
    8585= Building gccgo =
    86 = Download and patch gccgo =
     86== Download and patch gccgo ==
    8787
    8888The gccgo source code is accessible via Subversion. The gcc web site has [http://gcc.gnu.org/svn.html instructions for getting the gcc source code]. The gccgo source code is a branch of the main gcc code repository: svn://gcc.gnu.org/svn/gcc/branches/gccgo.
     
    9494
    9595Now, we have to patch this gccgo for RTEMS. The patch can be taken from ''rtems/contrib/crossrpms/patches''. Currently (16-Jul-2010), there is no gccgo patch in that folder, but there is a gcc-core-4.5.0-XXX.patch. Apply that to gccgo. One hunk will be rejected (the one related to missing file lm32.h), and one hunk related to config.gcc needs to be applied manually.
    96 = Download and setup gmp and mpfr libraries =
     96== Download and setup gmp and mpfr libraries ==
    9797
    9898The gmp and mpfr libraries are used to help gccgo perform optimisations. Download mpfr-2.4.1.tar.gz from http://www.mpfr.org/mpfr-2.4.1/ and gmp-4.3.2.tar.gz from http://gmplib.org/. These are the version numbers compatible with gccgo at this point in time (17-Jul-2010).
     
    107107cd ..
    108108}}}
    109 = Download and setup newlib =
     109== Download and setup newlib ==
    110110
    111111The C library used with RTEMS is [http://sourceware.org/newlib/ newlib]. It is built alongwith gcc.
     
    122122cd ..
    123123}}}
    124 = Build gccgo =
     124== Build gccgo ==
    125125
    126126Now, after all this, we are ready to build gccgo for RTEMS. We can choose to build multilib or not. The commands shown here are to build non-multilib. You can choose to build go with c++ too. To build multilib just add an ''--enable-multilib'' option to configure.
     
    142142
    143143The gccgo testsuite can be run using the scripts found in the rtems-testing module in RTEMS source.(As of 2010-07-18, the testing patches have not been integrated into RTEMS sources).
    144 = Untested testcases =
     144== Untested testcases ==
    145145
    146146Not all of the tests in the testsuite are used for testing, specifically for RTEMS. This is because of various reasons pertaining to the quirks of RTEMS.
     
    163163
    164164These testcases remain untested due to their high memory requirements, which is unreasonable in the case of embedded applications, and hence, not feasible for RTEMS.
    165 = Expected failures =
     165== Expected failures ==
    166166
    167167There are some testcases, which are expected faiures, when targeted on RTEMS. These are
     
    174174
    175175This is because they use a part of gccgo, which is unsupported by the port to RTEMS. This is unsupported because that part of gccgo is going to be removed and replaced.
    176 = Board-specific testcases =
     176== Board-specific testcases ==
    177177
    178178Some testcases require a total memory requirement of 16M. Now, this is reasonable for some boards, and not for others. We have decided to allow for these testcases to be passed.