Opened 12 years ago

Last modified 8 years ago

#413 closed enhancement

Port GNU Compiler Collection (gcc) to HelenOS — at Version 4

Reported by: Jakub Jermář Owned by:
Priority: major Milestone: 0.6.0
Component: helenos/app/other Version: mainline
Keywords: gsoc12 Cc: vivek.cs.iitr@…
Blocker for: Depends on:
See also:

Description (last modified by Jakub Jermář)

Port the GNU Compiler Collection to HelenOS.

Details
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. Which is worse, pcc 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.

The goal of this project is to port at least the C compiler part of gcc to HelenOS.

What Gains and Benefits will this bring?
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.
Difficulty
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.
Required skills
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.
Documentation
Possible mentors
HelenOS Core Team, Jakub Jermar, Jiri Svoboda

Change History (4)

comment:1 by Jakub Jermář, 12 years ago

Summary: Port GCC to HelenOSPort GNU Compiler Collection (gcc) to HelenOS

comment:2 by Jakub Jermář, 12 years ago

Description: modified (diff)

comment:3 by Jakub Jermář, 12 years ago

Component: helenos/unspecifiedhelenos/app/other

comment:4 by Jakub Jermář, 12 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.