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

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


Looks good - change went in here:

svn commit
Sending        source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
Sending        source/Plugins/ObjectFile/ELF/ObjectFileELF.h
Transmitting file data ..
Committed revision 217841.

​

On Mon, Sep 15, 2014 at 3:30 PM, Todd Fiala <tfiala at google.com> wrote:

> 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
>



-- 
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/b668240d/attachment.html>


More information about the lldb-commits mailing list