Changes between Initial Version and Version 2 of Ticket #413


Ignore:
Timestamp:
2012-02-25T16:20:04Z (12 years ago)
Author:
Jakub Jermář
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #413

    • Property Summary Port GCC to HelenOSPort GNU Compiler Collection (gcc) to HelenOS
  • Ticket #413 – Description

    initial v2  
     1Port the GNU Compiler Collection to HelenOS.
     2
     3 Details::
     4 HelenOS already contains a simple C compiler in the form of the Portable C Compiler (```pcc```) which was ported to it during GSoC 2011. ```pcc``` is sufficient for compiling simple userspace programs under HelenOS/ia32, but unfortunately is not powerful enough to build the entire HelenOS without substantial modifications in places where ```pcc``` does not follow ```gcc``` close enough. ```pcc``` also does not support the full range of platforms supported by HelenOS, which makes it a non-starter for the use as the main HelenOS compiler (both cross and native). This last criterion basically leaves us with only ```gcc``` as the only choice for achieving our long-term goal of becoming self-hosting.
     5
     6 The goal of this project is to port at least the C compiler part of ```gcc``` to HelenOS.
     7
     8 What Gains and Benefits will this bring?::
     9 One of the strategic goals for HelenOS is becoming self-hosting. Since most of the HelenOS code is written in C, having a portable, full-fledged native C compiler is a prerequisite to reaching this goal. Using the same compiler for cross-compilation and building HelenOS from itself is also a benefit of its own.
     10
     11 Difficulty::
     12 Medium. The effort will be somewhat easier especially thanks to GSoC 2011 projects that have paved the way for this project by porting GNU binutils and the Portable C Compiler to HelenOS and creating a POSIX-compatibility library.
     13
     14 Required skills::
     15 A successful applicant will have good skills of programming in the C language and the ability to survive in a non-standard non-POSIX application environment. The applicant should also be familiar with the basic concepts behind compilers and the build toolchain.
     16
     17 Documentation::
     18 - [wiki:DeveloperDocs#Clanguage]
     19 - [http://gcc.gnu.org GCC, The GNU Compiler Collection]
     20
     21 Possible mentors::
     22 HelenOS Core Team, Jakub Jermar, Jiri Svoboda