Skip to content
This repository was archived by the owner on May 21, 2019. It is now read-only.
Tom Tromey edited this page Jun 5, 2018 · 7 revisions

Building

You should follow the upstream build instructions for lldb. However, I have only built the Rust-enabled version of lldb using specific versions of LLVM and clang:

$ git rev-parse HEAD
0d8a696cebc1ccb27ec85f026ab170b40cd06192
$ cd tools/clang/
$ svn info
Path: .
Working Copy Root Path: /home/tromey/gdb/LLDB/llvm/tools/clang
URL: http://llvm.org/svn/llvm-project/cfe/trunk
Relative URL: ^/cfe/trunk
Repository Root: http://llvm.org/svn/llvm-project
Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8
Revision: 316010
Node Kind: directory
Schedule: normal
Last Changed Author: hahnfeld
Last Changed Rev: 316001
Last Changed Date: 2017-10-17 08:28:14 -0600 (Tue, 17 Oct 2017)

Rebasing to a newer version is possible (I hope!) but I have not attempted it.

Features

On the whole the new plugin doesn't offer a lot beyond the status quo ante. Instead, its main benefit is that it unblocks future improvements to Rust debuginfo.

However, the Rust plugin does have a better understanding of Rust debuginfo than the previous approach of using the C++ plugin. In particular, Rust enum types are directly understood, and print will show the active variant.

Also, the expression parser now uses Rust syntax.

Upstreaming

See this message for some information on how LLDB expects upstreaming to occur. At some point I hope to push this work upstream, but given this message I don't expect it to be any time soon.

Clone this wiki locally