[lldb-dev] Supporting new source languages

Michael Woerister michaelwoerister at posteo.de
Thu Jan 16 08:04:40 PST 2014


On 13.01.2014 15:04, Michael Woerister wrote:
> Hi everyone,
> I was wondering if it is a goal of LLDB to allow for supporting 
> programming languages other C/C++ and Objective-C? I've been browsing 
> the source code a bit and found that references to clang::Type are 
> hardwired into lldb::Type. Is there an extension path that allows to 
> sidestep Clang and use one's own type representation? Is it even 
> feasible to try and support non-Clang languages within LLDB's 
> architecture? That would be very interesting to me.
>
> Thanks for reading!
> -Michael
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Nobody care to comment? Let me elaborate a bit on my reasons for asking. 
Since last summer I've been working on debuginfo generation for the Rust 
compiler (www.rust-lang.org). As the Rust compiler is LLVM based this 
worked out pretty well and we produce DWARF good enough to satisfy basic 
debugging needs. However, obviously debuggers don't recognize Rust yet 
and print out values in the wrong syntax among other things. Some of 
this can be alleviated with Python extensions in LLDB and GDB, but the 
information available through those APIs seems to be limited (eg. it 
seems hard get modifiers, such as 'const' or 'volatile'). Also it would 
be great to allow for parsing Rust expressions in the debugger, call 
functions, in short: make Rust a first-class citizen of the given 
debugger. I'm currently trying to find out what the possibilities in 
this area are.

GDB seems to have a story for supporting new source languages but for 
LLDB I couldn't find anything about the topic yet. It would be great if 
somebody could elaborate on this, even if only saying "not a goal for 
LLDB" or "too early to ask for something like this".

Thanks again,
Michael



More information about the lldb-dev mailing list