* 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).