[llvm-commits] Code refactoring of MCELFStreamer.cpp and ELFObjectWriter.cpp
Jan Sjodin
jan_sjodin at yahoo.com
Mon Feb 28 13:52:53 PST 2011
I got help. Thank you Daniel. Committed the patch, revision 126686.
- Jan
----- Original Message ----
> From: Jan Sjodin <jan_sjodin at yahoo.com>
> To: Rafael Ávila de Espíndola <rafael.espindola at gmail.com>
> Cc: llvm-commits at cs.uiuc.edu
> Sent: Mon, February 28, 2011 12:49:22 PM
> Subject: Re: [llvm-commits] Code refactoring of MCELFStreamer.cpp and
>ELFObjectWriter.cpp
>
> I was trying to commit my change, but something is wrong. It was the first time
>
> I tried to commit anything so something was bound to not work. :) I will try
>to
>
> get some help, but if you want to commit it, go ahead.
>
> - Jan
>
>
>
> ----- Original Message ----
> > From: Rafael Ávila de Espíndola <rafael.espindola at gmail.com>
> > To: Jan Sjodin <jan_sjodin at yahoo.com>
> > Cc: llvm-commits at cs.uiuc.edu
> > Sent: Sat, February 26, 2011 10:10:16 AM
> > Subject: Re: [llvm-commits] Code refactoring of MCELFStreamer.cpp and
> >ELFObjectWriter.cpp
> >
> > On 11-02-25 8:54 PM, Jan Sjodin wrote:
> > > The JIT implementation I am working on (MCJIT which was renamed to
>JunkJIT)
> > > became a lot nicer when I decided to inherit MCELFStreamer and
> >ELFObjectWriter.
> > > This was needed to make the debug information available to gdb since it
> >expects
> > > ELF format. I basically reuse everything, the only thing that differs is
>
> >that I
> > > use a mem_raw_outstream to emit code to memory and make sure that all
> >sections
> > > are created before or during the post layout binding so that when
> > > RecordRelocation is called all symbol addresses are known. In the
> > > ELFObjectWriter, the code in WriteObject that creates sections is moved
>to
>
> >the
> > > post layout binding, and the code that emits the object stays in place.
>This
>
> >is
> > > perhaps not very clean, since it is not formalized in the interface, but
>it
> > > works okay and I only need to shuffle around the code a little. You
>could
> > > imagine that if section creation was restricted by the interface to only
> > > happenen before/during post layout, then a generic JunkJIT could be
>written
>
> >for
> > > any object format. Each object writer would be required to compute
>offsets
>
> >for
> > > the sections. I am currently not aiming to do this since the MCJIT
>proposal
>
> >by
> > > Daniel separates the Streamer/ObjectWriter from figuring out relocations
> and
> > > external symbols. However, the code refactoring patches I have/will
>submit
>
> >are
> > > fairly benign and enable a JIT (without lazy compilation) using the MC
> > > framework.
> >
> > Cool. The rafactoring patch is OK.
> >
> > > - Jan
> > >
> >
> > Cheers,
> > Rafael
> >
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
More information about the llvm-commits
mailing list