[llvm-dev] Adding DWARF5 accelerator table support to llvm
Robinson, Paul via llvm-dev
llvm-dev at lists.llvm.org
Wed Jan 17 11:43:24 PST 2018
> -----Original Message-----
> From: Pavel Labath [mailto:labath at google.com]
> Sent: Wednesday, January 17, 2018 8:14 AM
> To: jdevlieghere at apple.com; LLVM Dev; LLDB; David Blaikie; Robinson, Paul
> Subject: Adding DWARF5 accelerator table support to llvm
> Hello all,
> In <https://reviews.llvm.org/D41986#977215> it was brought up that
> there are at least two parties interested in having DWARF5 accelerator
> tables implemented, so I'm writing this email to see if there's anyone
> else interested in this topic, and to try to synchronize our efforts.
> Our interest for this stems from a desire to make dwarf parsing fast
> on non-apple targets (specifically android). As you may know, apple
> targets already use a non-standard accelerator table format, which was
> a precursor to the dwarf5 one. Due to other differences in debug info
> deployment model, the apple tables are not directly applicable to
> other targets, so instead of trying to make them fit, we chose to go
> with the standard approach.
> I personally will have some time to work on this this quarter or two,
> and my plan is roughly the following:
> 1. add .debug_names support to llvm-dwarfdump via the DebugInfo
> library (to enable testing of the table generation)
> 2. add .debug_names generation support (not enabled by default)
> 3. add .debug_names support to lldb
> 4. validate all three things work together
> 5. hook up .debug_names to clang's -glldb flag.
> 6. add .debug_names support to lld (accelerator table merging)
> Right now I have (1) roughly implemented, and I think I'll be able to
> put it up for review in a couple of days (although I expect the review
> will go through several revisions before being accepted). I also have
> a very basic implementation of (2), but this is still quite far from
> being upstreamable.
> So, my question is whether anyone is planning to work, or maybe
> working already on dwarf5 accelerator tables? Help with reviewing
> patches would also be greatly appreciated. If you have any questions
> or concerns, let me know.
This would not interfere/duplicate anything Sony is doing in the near
future. I think having the accelerator tables available for our
debugger team to play with would be nice, and I will certainly try to
spend some time on reviews.
FTR, next thing on the Sony list will be the new range-list/loc-list
format. We're really hoping to make `-gdwarf-5` a viable thing for
debuggers to try out by LLVM 7.0. It won't have "everything" but the
basic set of sections should be in place and be syntactically correct.
More information about the llvm-dev