[Lldb-commits] [PATCH] Handle ARM ELF symbols properly.

Todd Fiala tfiala at google.com
Mon Sep 15 15:30:30 PDT 2014


Perfect, thanks Stephane.  Final test then I'll get it in.

On Mon, Sep 15, 2014 at 2:26 PM, Stephane Sezer <sas at fb.com> wrote:

>  Version with comments added.
>
>
>
> On Sep 15, 2014, at 10:05 AM, Todd Fiala <tfiala at google.com> wrote:
>
> > Hey Stephane,
> >
> > On patch 2 - could you add some comments around these bits? It’s a
> little unclear what’s happening there and I want to make sure we don’t
> break it at some point later.
> >
> > + symbol_value_offset = -1;
> >
> >
> >
> > - uint64_t symbol_value = symbol.st_value;
> > + uint64_t symbol_value = symbol.st_value | symbol_value_offset;
> > Other than that, it looks fine.  I'll wait on that for the patch
> submission of part 2.
> >
> > Also - not needed for the patch itself, but would be great as a follow
> up would be adding a unit test to verify we’re correctly marking the thumb
> code symbols. That’d be great if you could add a unit test for it.
> >
> > Thanks!
> > -Todd
> >
> > On Mon, Sep 15, 2014 at 9:38 AM, Todd Fiala <tfiala at google.com> wrote:
> >
> >
> >
> > Part 1 committed here:
> > ```
> > svn commit
> > Sending        source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
> > Transmitting file data .
> > Committed revision 217782.
> > ```
> >
> > Stephane - it would be great if you could add a unit test to verify
> those symbols are getting stripped.  Let me know if you need help figuring
> out how the unit tests work.
> >
> > Looking at Part 2 now.
> >
> > -Todd
> >
> > On Wed, Sep 10, 2014 at 12:55 PM, Stephane Sezer <sas at fb.com> wrote:
> > Re-sending these, as the first email didn’t reach the mailing list for
> some reason.
> >
> >
> >
> > On Sep 9, 2014, at 5:27 PM, Stephane Sezer <sas at fb.com> wrote:
> >
> > > Two patches here:
> > >
> > > [PATCH 1/2] Skip $t* and $a* symbols in ObjectFileELF.
> > >
> > > ELF objects contain marker symbols to differentiate between ARM and
> > > THUMB functions. Instead of storing them internally and having garbage
> > > show up when symbols are searched for by the user, we can just skip
> them
> > > and not store them at all, as we never actually need them.
> > >
> > > [PATCH 2/2] Store the thumbness of a function in symbol flags.
> > >
> > > This allows us to fixup the address of the symbol as soon as we parse
> it
> > > so that lldb is not confused thinking there are two different symbols
> in
> > > the binary (one with the thumb bit, one without). Also, differentiating
> > > between THUMB and ARM symbols allows the debugger to place the right
> > > type of breakpoint.
> > >
> > >
> > >
> <0001-Skip-t-and-a-symbols-in-ObjectFileELF.patch><0002-Store-the-thumbness-of-a-function-in-symbol-flags.patch>
> >
> >
> >
> >
> > --
> > Todd Fiala |   Software Engineer |      tfiala at google.com |
> 650-943-3180
> >
> >
> >
> > ​
> > --
> > Todd Fiala |   Software Engineer |      tfiala at google.com |
> 650-943-3180
> >
>
>


-- 
Todd Fiala | Software Engineer | tfiala at google.com | 650-943-3180
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20140915/147db089/attachment.html>


More information about the lldb-commits mailing list