[lldb-dev] LLDB porting docs
Mool Chand Tyagi
moolchand.tyagi7 at gmail.com
Thu Jan 19 02:51:40 PST 2012
> Does LLVM support the VLIW architecture?
Yes, the LLVM supports VIW architecture, the compiler tool chain for which i
am planning to port LLDB is based on LLVM.
> What file format will the executables for VLIW be using? Hopefully ELF32 of
ELF64?
Our executable file format is ELF32.
> The Process plug-in is the part that connects to your remote system. If you
> are using a JTAG library that can speak the GDB remote protocol, you might
> not have to write a Process plug-in. how do you communicate and debug your
> executables? Do you have a running OS where lldb is running in user space on
> that OS? Will you be doing remote debugging?
We plan for remote debugging, we plan to modify the existing target simulator
to communicate with ported LLDB. In that case, LLDB may work as a client
asking for information from a Target simulator, which is considered as a
server.
I hope i answered your doubts. If you have further question please let me
know, i will explore and try to answer.
Moreover, i observed that LLDB supports remote debugging, however, i do not
know the details. If possible please share some information about remote
debugging supported in LLDB.
Regards,
Mool Chand Tyagi
Greg Clayton <gclayton <at> apple.com> writes:
>
> There currently aren't any documents. I need to sit down and write them
sometime soon.
>
> A few questions:
>
> The big one: Does LLVM support the VLIW architecture? If not we won't have a
way to evaluate expressions, or
> disassemble. This would be a show stopper if there is no LLVM support.
>
> What file format will the executables for VLIW be using? Hopefully ELF32 of
ELF64? If so, then there is no
> work to be done on the ObjectFile parser side.
>
> Is this for bareboard or OS development?
> If bareboard, no work needs to be done on the DynamicLoader plug-in side.
> If OS developtment where you will have shared libraries loading/unloading
then you will need to write a
> DynamicLoader plug-in for your OS or kernel.
>
> The plug-ins you will then need to subclass and create would be:
> - lldb_private::Platform
> - lldb_private::ABI
> - lldb_private::Process
>
> The Platform plug-in helps answer questions like "where is the
file /usr/lib/libfoo.so locally on this
> machine" when you are doing a debug session. It also helps with locating
executables in bundles, and
> selecting the right architecture from executables if you have an executable
bundle or binary that
> contains one or more architecture versions.
>
> The ABI plug-in helps us to be able to find out where arguments are passed
when making function calls and when
> looking for return values from function calls. It also helps define a whole
bunch of other things that are
> defined by the ABI like which registers are spilled/volatile/etc.
>
> The Process plug-in is the part that connects to your remote system. If you
are using a JTAG library that can
> speak the GDB remote protocol, you might not have to write a Process plug-
in. how do you communicate and
> debug your executables? Do you have a running OS where lldb is running in
user space on that OS? Will you be
> doing remote debugging? If so, how does one communicate with your remote
debug session?
>
> Greg Clayton
>
> On Jan 4, 2012, at 10:31 PM, Mool Chand Tyagi wrote:
>
> > Hi,
> >
> > I am looking forward to use LLDB to port to a VLIW architecture, can
anyone help me by providing some
> pointers to documents or Readme texts.. ?
> >
> > thanks and regards,
> > tyagi
> >
> >
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > lldb-dev mailing list
> > lldb-dev <at> cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
More information about the lldb-dev
mailing list