public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Update on CIL branch
@ 2008-06-13 12:42 Andrea Carlo ORNSTEIN
  0 siblings, 0 replies; only message in thread
From: Andrea Carlo ORNSTEIN @ 2008-06-13 12:42 UTC (permalink / raw)
  To: gcc

Hi,

I wanted to give a small update on what has been done on the CLI branch 
(gcc svn repository branches/st) before the summit.
I will not be able to be there,
have fun :)

What we have done lately
- added binutils for cil as simple wrappers on DotGnu binutils
  simplifies build of a toolchain
  instructions on how to build the toolchain (binutils +gcc), link at 
the end of the mail
- libc/libm
   we developed an implementation of libc/libm on top of mscorlib that 
allows most of c applications to be compiled and run on any CIL Virtual 
Machine
   A lot of users asked for it since previously the lack of an 
implementation of the standard library prevented the use of the code 
generated in a lot of real world applications,
   all C applications depends in a way or another from libc
   we called it libstd and now it is built just after the compiler
- install in the bin directory also 2 wrappers on top on mono and ilrun 
to execute the generated applications
  (they just set correctly the libraries search PATH)

What are we doing now:
- we are defining an internal IR of the CLI Backend that is close to the 
CLI IR,
  on wich we can do some final optimizations
  mostly optimizations on how the evaluation stack is handled, taking 
advantage of its semantic (implicit conversions, keep values on the 
stack instead of using local variables)
- we are developing a new set of binutils to handle CLI object files
   Now we are using binutils from DotGNU project.
   For the use in our context they had few drawbacks:
       - a special assembler must be used, the objects files (.o) are 
not standard CIL assemblies and need special tools to be manipulated
       - they used CIL reflection to do the initialization of global 
variables,
       - it did not support a static library format and
      - there where some errors linking varargs functions
   We are developing a new set of binutils that resolve all this issues. 
- update/merge with trunk

I added a small README file that explains how to build and install gcc 
with the CLI Backend and CLI binutils.
You can find it in the ST branch 
(http://gcc.gnu.org/viewcvs/branches/st/README?view=markup)

Andrea C. Ornstein

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-06-13 12:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-06-13 12:42 Update on CIL branch Andrea Carlo ORNSTEIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).